Felicitaciones por ese pensamiento. Es una idea audaz, y te felicito por siquiera pensar en ello; no muchos pueden Todos quieren ganar, pero muy pocos quieren prepararse para ganar.
Como fundador de Coding Interview Bootcamp, Interview Kickstart, rutinariamente hablo con ingenieros que aspiran a entrar en algunas de las mejores empresas de Silicon Valley. [BTW, nos estamos inscribiendo para los próximos lotes!]
La mayoría de ellos no tienen el lujo de pasar un año a tiempo completo en ello. Pero si lo haces, eso es increíble y lo siguiente es lo que te aconsejaría:
- Quiero tener éxito en la vida pero no puedo concentrarme en una cosa específica como estudiar. ¿Qué tengo que hacer?
- Tengo una gran prueba mañana. ¿Debo dormir bien por la noche o estudiar toda la noche?
- Cómo animarme a estudiar cuando no quiero pero tengo que
- Estoy haciendo mi BE en ingeniería eléctrica y actualmente estoy en mi 3er año. Quiero unirme a la industria automotriz / aeronáutica. ¿Cuál debería ser la estrategia de carrera adecuada para mí? Y si voy a un estudio superior, ¿qué especialización debo elegir?
- Cómo estudiar durante 2 meses sin distracciones.
Versión corta : IMHO, dejar o no es una decisión secundaria. Su decisión principal es averiguar qué hará con su tiempo, de modo que maximice sus posibilidades de lograr su objetivo.
Versión más larga:
(La versión más larga es más larga de lo que pensé que escribiría inicialmente, pero espero que a quien la lea lo encuentre útil):
1. Haz un plan meticuloso.
El plan que has dado es un buen comienzo, pero profundiza con eso. Lo que necesitas, es un plan para la práctica deliberada. Lee todo sobre la práctica deliberada y apuesto a que resonará contigo. Desea saber exactamente cuántos días tomará, cuántas horas puede dedicar por día, cuántos temas estudiará y cuántos proyectos o problemas de entrevistas (aproximadamente) desea exponer, por tema Y quieres hacer esta preparación con entrevista-orientación.
Cracking the Coding Interview (libro de 2011) es un muy buen libro, pero dependiendo del equipo que entreviste en Google, puede que no lo encuentre adecuado. Yo diría que también ir a través del libro Elementos de entrevistas de programación. Entre esos dos libros y Glassdoor (compañía), deberías tener suficiente forraje. También puede usar Introduction to Algorithms (libro de Cormen, Leiserson, Rivest y Stein), pero le sugiero que lo use más como referencia, en lugar de un libro de preparación de entrevistas, de lo contrario puede sentirse abrumado.
En la misma línea, no estoy seguro de si una clase de Algoritmos va a ser muy útil. Puede ser útil como sistema de disciplina (vea mi siguiente punto), pero no es muy útil para la preparación de la entrevista. Es probable que cubran una gran cantidad de material que no es útil para la entrevista, y no dan suficiente práctica en el material que realmente es.
Cuando estés practicando problemas, asegúrate de escribir el código. Codifica cada problema que estudies y tómate el tiempo. Si excede los 45 minutos en cualquier problema, hágalo una y otra vez hasta que lo reduzca a 45 minutos. Use TopCoder o Codeforces o HackerRank o Leetcode o similar para practicar un poco más competitivamente.
Muchas personas le aconsejarán que practique en una pizarra en lugar de codificar. Si bien eso definitivamente ayuda y es necesario, el primer paso es obtener fluidez con los algoritmos de escritura y las estructuras de datos en el código real. Una vez que te sientas cómodo con eso , entonces transferir esa habilidad a una pizarra no es mucho trabajo.
El momento en que se hace un plan detallado es cuando sabrá qué hacer a continuación y se integrará en su decisión de ir / no ir.
2. No puede llevar un año completo.
¿Cómo sabrás que estás listo?
a. Ir primero en amplitud, en lugar de profundidad primero.
Con la ayuda de alguien, decida sobre un conjunto de temas que necesita practicar (Arrays, Strings, Recursion, DP, Trees, etc.) ,. Luego divida su plan en fases progresivamente más profundas con problemas de entrevista más desafiantes. Haga un bit medido de todos los temas en cada fase en lugar de dedicar una fase a un tema completo. De nuevo, no olvides escribir el código para cada problema que estudies.
segundo. Mídete con entrevistas simuladas después de cada fase.
Cuando te veas mejorando en entrevistas simuladas, tendrás más confianza. Sabrá cuándo detenerse y es muy probable que no necesite un año completo. Asegúrate de encontrar a los entrevistadores adecuados para hacer entrevistas simuladas. Una buena entrevista es una función de la experiencia en la entrevista.
Para justificar el tiempo libre en el currículum, le aconsejo que haga un trabajo independiente en el lateral.
3. Crear un sistema de soporte.
Si usted es tan humano como la mayoría de los humanos, entonces mantener el enfoque, la disciplina y la motivación durante su año libre (o incluso a tiempo parcial) será difícil. Muy duro.
Para mantener esa adrenalina en alto, debe crear el mejor sistema de soporte que pueda, con algunos o todos los siguientes
a. Crear un sistema de estudio: nadie lo dice mejor que Scott Adams. Lea esto, con paciencia: Scott Adams Blog (Goals vs Systems).
segundo. Encuentre un compañero: estudien juntos, verifiquen el trabajo de los demás, rindan cuentas unos a otros. Ambos retendrán el conocimiento por más tiempo y se harán más fuertes juntos. ¿Sabías que los colegios de CS en Israel dan tarea conjunta? A menudo funciona como magia.
do. Encuentre un mentor (o mentores): alguien que ya trabaje en Google y confíe en lo que usted es, sería genial. Solicite orientación, entrevistas simuladas, evaluaciones, revisiones de códigos, etc.
re. Mídase constantemente: después de alcanzar cada objetivo secundario, asegúrese de evaluarse / juzgarse / medirse con alguna medida objetiva, por ejemplo, una entrevista simulada o un desafío de codificación.
mi. Seguro de salud: si tienes un compañero que puede apoyarte, eso es increíble. De lo contrario, debe tener en cuenta la prima de Obamacare como parte de sus ahorros (solo en EE. UU., Por supuesto).
4. Trabajar para dominar, no para descifrar Google.
Es lo contrario a lo intuitivo que suena, pero es lo más importante: no apuntes a Google. Trate de obtener dominio sobre los algoritmos de entrevista / estructuras de datos. Google seguirá. Cuando ganes el dominio, muchas otras compañías también lo seguirán.
Trabajar para Mastery vs Performance es una teoría bien conocida en educación. Cuando apuntas a Mastery vs. Performance es cuando podrás salir de los momentos difíciles. Y solo entonces, muchas de las cosas que sugerí anteriormente se volverán fáciles de entender. escribir código, programar tu tiempo, hacer entrevistas simuladas, hablar con personas de ideas afines, etc.
5. El dominio de la entrevista se traducirá en un rendimiento superior en el trabajo.
Es difícil de creer, pero he visto que eso sucede en varios casos. Las preguntas de la entrevista son un gran medio para aprender. Son los conectores más rápidos de la teoría y la práctica. Te exponen a desafíos reales y te hacen pensar más duro.
Lo más importante es que no te preocupará volver a encontrar un trabajo, lo que te hará sentir más seguro en tu trabajo actual.
6. Medirse continuamente
Repetir y resaltar este punto, porque no puedo enfatizar esto lo suficiente. Las entrevistas simuladas son una excelente manera de medir tu progreso. Haga una ronda antes de comenzar y una ronda después de cada fase de su preparación. De esa manera, sabrás cuándo parar y qué tan lejos ir. No hay otra forma de saberlo objetivamente.
7. Saber claramente para qué estás optimizando
Date cuenta de que este es un experimento caro para ti. No solo gastará sus ahorros de un año, sino que también perderá el salario durante un año. Si estás en Silicon Valley, eso puede significar fácilmente un total de $ 200K, después de impuestos. Incluso si te unes a Google, tardarás unos 2 años en recuperar esa cantidad de dinero.
Aunque, por supuesto, el dinero no es lo único que importa y hay muchos otros beneficios intangibles de craqueo en las mejores empresas. Solo quiero decir que debes tener una buena idea de eso en general y estar cómodo con eso.
Por último:
Tu última línea es acertada y muestra tu gran actitud. Las entrevistas no son ni ciencia exacta ni pruebas estandarizadas, y hay más que eso más allá de los algoritmos y las estructuras de datos. Así que aún puedes fallar en las entrevistas de Google después de todo esto. Pero si ha trabajado con el objetivo de obtener dominio, y ha utilizado todos los momentos de vigilia de ese año con un plan, aún saldrá adelante y su preparación lo beneficiará de manera invisible. Tiene que.
Si decides dar el paso, te deseo lo mejor. Como dicen, ¡ Que la fuerza te acompañe!
( Prepárese para ganar una cita adaptada de una cita similar de Paul Bryant)
(Edit 1: Destacó algunas preocupaciones importantes que fueron enterradas
Edición 2: Se agregó una versión corta, y se le atribuyó la cita)