¿Cuáles son los algoritmos que debo saber, como programador promedio, para obtener una entrevista técnica?

Me gusta la respuesta proporcionada por Vivek Kumar pero me gustaría agregar algunos puntos adicionales:

Big O Notation
Ser capaz no solo de proporcionar una solución única, sino de comparar varias soluciones basadas en la “complejidad algorítmica”. Muy a menudo, su entrevistador lo estará buscando para refinar una técnica de “fuerza bruta” con una solución optimizada.

Entonces, por ejemplo, poder no solo codificar un “orden de fusión” sino comprender por qué esta sería una solución optimizada en comparación con “orden de burbujas”, “orden de inserción” o un bucle básico “for”.

Tablas Hash
Con una complejidad de rendimiento de tiempo promedio de O(1) tablas hash son una de las técnicas más utilizadas en informática. Como parte de su conjunto de habilidades, uno debe ser capaz de comprender cómo modelarlos y conocer sus beneficios.

Intentos
Si bien la idea de los algoritmos de String ya se ha mencionado, comprender las estructuras de datos debería impresionar a cualquier entrevistador. ¿Por qué? Porque son una estructura no obvia que tiene una aplicación práctica (por ejemplo, corrección ortográfica, diccionarios, búsqueda).

Gráficos
Como se mencionó, pasar por el proceso de codificación de un gráfico simple es genial. Sin embargo, implementar este tipo de código en una situación de entrevista real puede ser demasiado detallado. En cambio, podría centrarse en comprender la teoría de grafos. Ser capaz de diagramar vértices, bordes, BFS o Dijkstra impresionaría a cualquier entrevistador.

La mayoría de las compañías siguen un patrón mientras hacen preguntas en rondas técnicas que pueden clasificarse en términos generales como:
1. Algoritmo de ordenación (mayoritariamente fusión y ordenación rápida)
2. Búsqueda (las eficientes)
3. Algoritmo gráfico (que comprende la ruta más corta, clasificación topológica, bfs, dfs)
4. Algoritmos de cadena
5. Algunos algoritmos ad-hoc (como invertir una matriz sin usar espacio adicional, etc.)
6. Manipulación de bits (muy importante para empresas como Microsoft).
Espero que te ayude 🙂.

Aquí hay un recurso ordenado que debería ser de ayuda – Tablero de temas

Contiene una lista de conceptos cuidadosamente categorizada y cercana a exhaustiva que debe conocer antes de su entrevista técnica.

Si tiene cada uno de estos y sabe cuándo usarlos, entonces estoy bastante seguro de que no hay una entrevista técnica de codificación que no podrá obtener.

¡Todo lo mejor!

No hay algoritmos particulares, pero hay algunos consejos que escribiré a continuación.

La pregunta

Otra de las preguntas muy difíciles en el conjunto de pruebas psicológicas que ahora suplantan a las técnicas estándar de entrevista puede parecer simple a primera vista, pero en esencia es bastante compleja: “¿Cómo manejas las situaciones estresantes?” Solo puede verse como pura Es irónico que esta pregunta pueda ser una de las más estresantes para encontrar una respuesta, pero hay una muy buena razón por la que te hacen preguntas, y ayuda a entender esto. Al igual que con muchas cosas en los negocios y en la vida, conocer el razonamiento detrás de una pregunta a menudo puede ser más importante que la pregunta misma.

¿Por qué están preguntando?

Cuando nuestros padres o nuestros mentores nos cuentan sobre el trabajo por primera vez cuando somos adolescentes, las descripciones del mundo del trabajo diario son tan variadas como cada experiencia de las personas que lo explican. Algunos nos cuentan una historia idílica de una carrera construida desde cero; forjado en el guante del trabajo duro y la perseverancia. Otros explican que hay poco más en la vida laboral que tener la voluntad de levantarse cada mañana y marchar a la oficina sin ningún deseo de ganar más para sí mismo que el próximo cheque de pago y la continuación del estilo de vida. Sin embargo, una cosa que se explica en casi todos los casos es el hecho simple e ineludible de que todo trabajo conlleva cierto grado de estrés, sin importar cómo lo haga girar.

No importa cuán feliz esté en su trabajo, y no importa cuánto ame a las personas con las que está trabajando. Ya sea el trabajo de sus sueños o simplemente algo que está haciendo para llegar a fin de mes, siempre llegará un momento en el que su trabajo traerá un tipo especial de dolor de cabeza. Entonces se deduce que cualquier empleador que valga la pena desearía saber si usted y cómo se maneja cuando las cosas van mal … porque eventualmente siempre lo hacen.

¿Qué quieren decir con “estrés”

Debe entenderse que en cualquier proceso de entrevista hay cosas que un empleador simplemente no quiere escuchar. La cuestión del manejo del estrés es, ya que muchas preguntas de la entrevista pueden ser, muy abiertas a la interpretación, y por naturaleza puede ser demasiado simple desviarse por una tangente y encontrarse diciendo cosas que a su potencial empleador no solo no le importa escuchar, pero las cosas que pueden ser directamente perjudiciales para sus posibilidades de conseguir el trabajo. “Estrés” puede significar muchas cosas, e incluso si se le asigna un calificador más específico, como ” estrés en el lugar de trabajo “, las personas pueden dar un giro a lo innecesario sin darse cuenta. El “estrés” que los empleadores quieren saber si puede manejar es el estrés relacionado con el trabajo en sí. Si te llevas bien o no con Andy de la contabilidad es terriblemente irrelevante. Esa es una pregunta completamente diferente que probablemente discutiremos más adelante, pero para esta pregunta querrá estar listo con algo más que una queja de la oficina.

Prepare su respuesta y no abra la puerta equivocada

La clave para realizar cualquier entrevista, y de hecho una de las claves principales para el éxito en todos los negocios, es la preparación. Ver a la vuelta de la esquina, saber lo que viene y estar preparado para ello puede marcar la diferencia en el mundo.

Sin embargo, esta pregunta en particular tiene algunas trampas incorporadas que se pueden resolver fácilmente si piensas demasiado … o si hablas demasiado. Querrá pensar en un tema específico relacionado con el trabajo. No fue un “trabajo allí general difícil y lo manejé todos los días”. Eso solo le dirá a su posible empleador que tiene miedo de responder o que no le importó lo suficiente el trabajo como para estar estresado.

Piense en una situación que presenta desafíos únicos; específicamente una situación que otros no pudieron manejar fácilmente. Idealmente, querrás pensar en algo que presente un problema para los demás y para el que hayas encontrado una solución. Puede parecer fuera de tema, pero confía y cree que de hecho es lo que están buscando. La mayoría de las preguntas modernas de las entrevistas basadas en psicología son realmente algunas preguntas más obvias en una sola. ¿Puedes lidiar con situaciones únicas? ¿Puedes trabajar fuera de tu zona de confort? ¿Puedes manejar la presión que acompaña este trabajo? ¿Puedes mantener la calma cuando todo golpea al ventilador? Es posible que nunca le hayan preguntado alguna de estas cosas, pero esto es lo que su potencial potencial quiere y necesita saber al considerarlo para un puesto; doblemente si buscas algo en la gestión.

Sin embargo, ten cuidado con las trampas. Hablar sobre el estrés personal en el lugar de trabajo es un animal diferente, y puede caer rápidamente en una queja sobre tus propias manías personales si no tienes cuidado. Tan preparado como creas que estás y por mucho que hayas ensayado, es más fácil de lo que piensas desviarte del curso, y algunos entrevistadores expertos incluso pueden tratar de sacarte del curso para tratar de mejorar tu personalidad y tu personalidad. sus defectos La regla número uno aquí es mantenerlo sobre negocios; manténgalo sobre el trabajo, los desafíos que presentó y lo que hizo para manejarlo. No entre en sentimientos personales, problemas con otros empleados, y bajo ninguna circunstancia se refiera a fallas por parte de su gerencia.

Palabras de moda y malas palabras

La mayoría de los que se han mantenido en sintonía con los negocios modernos han oído hablar de las llamadas “palabras de moda”. Estas son palabras o términos que han recibido un significado especial en el mundo de los negocios, o palabras que han sido suplantadas con otros para mantener una actitud más positiva panorama.

Usar la palabra “oportunidad” en lugar de “problema” es uno de los cambios de palabras más comunes en el mercado hoy en día. Es tentador tratar de lanzar palabras de moda al tratar de impresionar a un empleador potencial y no hay nada particularmente malo en eso, simplemente no exagere.

Sin embargo, hay algunas palabras de las que debe mantenerse alejado cuando se refiere al estrés en un entorno. Abstenerse de oraciones como “eso me volvió loco” o “No podía soportar eso”. Palabras como “estúpido” o “tonto” tienen un aire de infantilismo que se parece más a señalar con el dedo. En lugar de eso, adhiérase a términos más sutiles y menos emocionales. “Difícil” o “desafiante” son términos que transmiten responsabilidad personal y un deseo de superar un tema difícil. Su respuesta debe ser breve, dulce y seguir esta fórmula básica: ¿Cuál fue el desafío que enfrentó durante el desempeño de sus funciones, qué lógica y trabajo duro utilizó para encontrar una solución y cuál fue el resultado de su solución? Sigue el camino y mantén la calma, y ​​es posible que te encuentres manejando una nueva serie de tensiones en tu nuevo trabajo.

Fuente: Ace La entrevista: Las preguntas difíciles

Ya se mencionan tantos, que decidí compartir algo ligeramente diferente. No es un algoritmo como todos los grandes anteriores, pero aún así es una forma de resolver un problema, del que la mayoría de los programadores han oído hablar.

Poco después de mi graduación, fui a una entrevista de trabajo para un puesto de programador y una de las preguntas fue: ¿cómo cambiaría dos variables enteras sin usar una tercera, usando algún lenguaje de programación popular?
Estaba un poco estresado, pero después de unos minutos lo descubrí.

Sí, a veces lo más simple puede ser lo más complicado. 🙂

No solo conoces los algoritmos, sino cómo se te ocurre uno. Todo viene de la mano. Si conoce los algoritmos principales y sinceramente trata de resolver los problemas sin copiar, entonces comienza a pensar y eso es lo que le servirá en cualquier entrevista técnica.
Necesita conocer los algoritmos básicos en sesrching, clasificación, algos de árbol, algos de gráficos, otros algos utilizados para manipular estructuras de datos.
Sería mejor para ti estudiar de
GeeksforGeeks | Un portal informático para geeks
para algos y
Entrenamiento gratuito para preparación de entrevistas
para entrenamiento en resolución de problemas

More Interesting

He escrito lo que creo que es una historia entretenida para niños. Me gustaría publicarlo. ¿Cuál es la mejor manera de lograr esto?

¿Seré discriminado por los empleadores tecnológicos si me uno a la Reserva del Ejército de los Estados Unidos?

¿Cuánto beneficiará la programación competitiva a mi carrera de ingeniería de software?

¿Cuál es tu especialidad y por qué la elegiste?

Quiero convertirme en un buen desarrollador de software, pero no sé por dónde empezar. ¿Cómo lograría esto? (Leer detalles)

Soy un estudiante graduado en ciencias de la computación. En mi tiempo libre, me gusta aprender nuevos idiomas o herramientas. ¿Qué es algo que será el futuro de la industria del software?

Cómo prepararse para un rol de desarrollo de software mientras trabaja como ingeniero de automatización de pruebas

¿Es mejor construir una amplia experiencia o ser un experto en dominios en sus primeros años de carrera?

¿Cuántas asignaturas hay en la AMIE?

Tengo muy pocas habilidades técnicas, pero armado con excelentes cualidades de liderazgo. ¿Cumpliré con las demandas de hoy?

¿Cuál es la mejor empresa de arquitectos en Chennai?

¿Es la ingeniería marina una buena opción después del 12 teniendo en cuenta la situación actual de desempleo entre algunos?

¿Es un ISC mejor que un PUC?

Como graduado de 21 años, ¿cuál es la mejor ciudad para vivir en la India?

¿Para qué oportunidades técnicas y no técnicas en defensa de la India soy elegible? Me puedes guiar