Eres un mal programador, y ese no es el problema. Aunque las matemáticas son muy importantes, y conocer los algoritmos es un gran activo, puede ser un programador terrible pero un desarrollador brillante de JavaScript (reemplace JavaScript con el idioma / plataforma de su elección).
Mi última entrevista técnica tuvo un algoritmo que tomó el máximo entre los índices de dos letras, en una cadena. La firma de la función era así getMaxBetweenIndexes(string, firstLetter, secondLetter)
. El código era feo y querían que lo mejorara, lo optimizara y también lo acortara. Eran aproximadamente 80 líneas de código y 300 tokens.
Math.max
un Math.max
simple sobre string.lastIndexOf(firstLetter)
y string.lastIndexOf(secondLetter)
. Convertí esa función en un 1-liner, usando las funciones de flecha en ES6.
- ¿Cuáles son las preguntas más frecuentes en ASP.NET en una entrevista y cuáles se pueden preguntar si uno ha creado un sitio web universitario como parte de un proyecto?
- ¿Cómo es una típica entrevista de ingeniería de software con usted?
- ¿Vale la pena tomarse un pequeño descanso en la carrera para prepararse bien para entrevistas para trabajos aún mejores?
- ¿Qué tan importante es estar familiarizado con los lenguajes de programación que usa una empresa antes de solicitar un trabajo?
- ¿Cuáles son los mejores ejemplos de implementación completa de estructuras de datos prominentes usando C (no C ++)?
Si crees que apreciaron esto, me atrevería a argumentar en contra de eso, ya que no se han molestado en responder. Probablemente esperaban que usara un algoritmo antiguo que aprendí hace unos 10 años cuando estaba en la escuela y que nunca tuve que usar después de eso.
Creo que, por ejemplo, agregar un montón de basura roja-negra, de amplitud y profundidad primero a las entrevistas de front-end, es solo una forma estúpida para que las empresas salgan buscando solo el mejor talento en el campo y presumir al respecto
Los programadores, para mí, son personas que son extraordinarias en matemáticas y algoritmos, y pueden hacer que su cerebro explote por la amplitud y profundidad de su conocimiento en estos campos, pero que no necesariamente escriben códigos hermosos, por ejemplo.
Del mismo modo, los desarrolladores de software pueden no conocer más de dos algoritmos de búsqueda y un algoritmo de clasificación, pero crean software que la gente usa.
En mi versión de la vida, los programadores exponen las bases sobre las que crean los desarrolladores de software. Sin verdaderos programadores, las computadoras no serían tan rápidas, la nube probablemente sería un sueño y aún estaríamos usando tarjetas perforadas. Volviendo a los Desarrolladores de software, sin ellos, probablemente tendríamos servicios y aplicaciones en la nube con interfaces basadas en texto y API que requerirían que cada empresa tenga un empleado llamado Alan Turing.
¡Salud!