Soy programador profesional en Norteamérica por más de dos décadas. Aprendí a clasificar algos en 1994 como parte de mi maestría en CS. Pero, sinceramente, no he escrito una sola función de clasificación profesionalmente. Los algoritmos de clasificación están disponibles de fábrica en la mayoría de los desarrolladores. ambientes. También lo son la mayoría de las otras estructuras de datos. Para los desarrolladores experimentados, el conocimiento del funcionamiento interno de estos algos es insignificante cuando se desarrollan aplicaciones grandes. Lo más importante es saber qué algo debe usarse en qué situación.
Hay varias otras dimensiones (en una entrevista técnica) que se utilizan para determinar si el desarrollador es un desarrollador experimentado. Rutinariamente pregunto a los candidatos sobre:
- Multithreading
- Patrones de diseño
- Bases de datos (relacionales y documentos)
- Conceptos ORM
- Lenguajes (C ++, Java, mecanografiado, C #)
- Computación distribuída
- Servicios web
- Métodos de implementación
- Recopilación de requisitos
- Diseño orientado a objetos
- Conceptos de diseño de interfaz de usuario
- Seguridad de la aplicación
- Conocimiento relacionado con el dominio.
- Metodologías y experiencia de desarrollo de casos de prueba
- Habilidades de solución de problemas de producción
- Habilidades generales para resolver problemas
- Y varios otros temas
Utilizo la pregunta de estructura de datos solo para desarrolladores junior que acaban de salir de la escuela y los aprendieron recientemente. Muchas veces los principiantes también carecen del conocimiento de la mayoría de los aspectos anteriores del desarrollo de software. En tales situaciones, los temas que han aprendido en la escuela son indicativos de qué tan bien y con cuánto interés, estudiaron CS.
- Cuando desarrolle software SaaS que sea bastante complejo, ¿debería contratar a múltiples desarrolladores en Upwork o contratarlos internamente en una oficina local física?
- ¿Qué clases debo tomar en la escuela secundaria para prepararme para ser un desarrollador de software?
- En la empresa para la que trabaja, ¿escribe las pruebas para las características que desarrolla o alguien más lo hace?
- ¿Cuál es el papel del probador en la fase de verificación de un desarrollo de software?
- ¿Puedo conseguir un trabajo en Google para un puesto de desarrollador de software con experiencia en electrónica?