Soy un estudiante de tercer año con un conocimiento decente de algoritmos y estructuras de datos. También fui seleccionado como desarrollador de estudiantes para GSoC 2015. ¿Cómo puedo prepararme para las pruebas de pasantía para Google y Facebook, siempre que no me especialice en CS?

Esta pregunta se ha hecho en Quora varias veces, por ejemplo:
¿Cómo estudio para una entrevista de pasantía en ingeniería de software de Google?
¿Cómo se puede obtener una pasantía en una empresa como Google, Facebook o Quora? ¿Qué se necesita para llegar allí? ¿Ser un CS importante es un requisito previo?
¿Cómo aseguró una pasantía con Google Mountain View siendo de la India?
etc. No creo que tenga nada que agregar a estos, pero para resumir, creo que el conocimiento no es lo mismo que las habilidades. Te sugiero que practiques desde sitios web como geeksforgeeks. Al principio era reacio a seguir ese consejo, pero me di cuenta de que geeksforgeeks tiene un depósito tan grande de problemas básicos de programación dinámica que ser capaz de codificarlos te prepara para las entrevistas de la mejor manera. Además, practique la codificación en un editor de texto sin autocompletar porque así serían sus entrevistas. El tiempo también es esencial. Si su entrevista es por 40 minutos, no significa que se supone que debe resolver solo x problemas para cualquier x. Si resuelve el problema i-ésimo, el entrevistador le pregunta el (i + 1) th. El entrevistador no le dirá que “se apure” para que pueda hacerle la siguiente pregunta, esa parte depende de usted.

¡Todo lo mejor!