¿Cuál es el punto de la técnica de la entrevista detallada para el desarrollador senior? [cerrado]

10

He tenido una entrevista de promoción interna para obtener un título de programador de nivel superior, algo así como Senior plus. Y he sido entrevistado por alrededor de 7 personas que usan tecnología diferente, y las personas que usan la misma tecnología conmigo (.Net) tienden a hacer preguntas muy técnicas detalladas que en realidad se pueden encontrar fácilmente a través de Google, como qué es JIT, cómo funciona GC , diferencia entre Lista y matriz, clase abstracta e interfaz, delegado y evento, incluso cuál es el nombre de la clase cuando procesas Subir archivo, etc. Y solo tengo una pregunta sobre mi idea de diseño en mi proyecto y solo discusión simple Pero para la mayoría de mi elección de diseño, parece que no están interesados.

Todavía no obtuve el resultado y sería a finales de esta semana, pero aquí está mi preocupación:

Personalmente, creo que cuando juego como programador sénior, principalmente resuelvo problemas, y solo necesito saber que hay alguna manera segura de que esto ocurra, pero es posible que no recuerde cada cosa detallada, y esa es la razón por la que tenemos esas referencias detalladas documentación como MSDN.

Me parece bien si descubriste que no tengo demasiadas experiencias en esta área, como Junior a nivel intermedio, pero cuando tiendes a entrevistar a un chico de nivel superior, ¿no deberías concentrarte más para ver cómo es este tipo de pensamiento lógico y qué tan bueno? ¿Está él / ella resolviendo problemas? ¿Todos piensan que si conoces todos los detalles técnicos de pequeños puntos, entonces eres un Senior +? Y al revisar los libros de preguntas de la entrevista, descubrí que hay más preguntas de ese tipo.

Si paso 5 días en el libro de la lista de preguntas de la entrevista, puedo hacer que esos tipos se sientan asombrados, pero ¿eso realmente significa algo? Este tipo de entrevista puede permitir fácilmente que esos tipos buenos para recordar cosas ganen un salario más alto, incluso si no tienen idea de cómo resolver un problema de dificultad.

Entonces, ¿por qué está sucediendo esto en el mundo? ¿Eso solo causa habilidades para resolver problemas, las habilidades de diseño son difíciles de medir? He servido a esta compañía durante años y solo tuve pocas entrevistas con otras compañías, así que me pregunto si cada compañía está haciendo lo mismo.

¿O es realmente solo mi propio problema que debería esforzarme más por recordar todo en MSDN en mi mente para poder trabajar incluso sin él e Internet?

EDITAR

Para explicar mejor mi situación con respecto a la preocupación de Frank por las tareas laborales. Lo siento, es mi mal no aclarar esos antecedentes.

En realidad no habrá cambios específicos en la tarea del trabajo, personalmente creo que lo que he hecho ya jugó como senior, como revisión de código, mentores, revisión del documento de BA y dar opiniones técnicas, arquitectura de diseño de nuevos proyectos, todavía es mi título. Me quedé sin senior y pedí uno para reflejar el recibo de sueldo y conducir a una entrevista de este tipo. Esta es una empresa de Saas, por lo que las personas permanecen en un proyecto mientras el producto aún esté vivo, esto lleva a que las personas puedan diseñar más características nuevas basadas en el producto actual, solucionar problemas de técnica en servidores en vivo, diseño / revisión de código / tutoría miembros Y el título de nivel superior basado en la técnica sería Arquitecto y no tenemos ningún trabajo similar con Técnico Experto. Y estoy de acuerdo si desea desempeñar el papel de experto técnico, debe conocer más detalles sobre la tecnología que utiliza. Lo siento, es mi mal no aclarar esos antecedentes.

Simon Wang
fuente
8
Hablando en general, mi opinión es que hacer preguntas que equivalen a trivialidades o minucias técnicas con respecto a un rol principal es una señal de alerta sobre el proceso de la entrevista y posiblemente el grupo. Yo diría que esto es doblemente cierto si estás buscando una promoción interna. No todas las empresas son así, encontraría una que no lo es.
Erik Dietrich
Gracias por tu valioso comentario Erik, sí, creo que es hora de pensar detenidamente sobre el futuro
Simon Wang

Respuestas:

15

Como ingeniero senior y una persona que contrata ingenieros, parece que el proceso de la entrevista perdió toda una franja de información conceptual.

Quiero que mis ingenieros superiores puedan visualizar un resultado final, elegir la tecnología correcta, diseñar la base de datos y los procesos correctos, y poder delegar los detalles a otros ingenieros cuando sea necesario. Google siempre está a su lado, por lo que me concentro en su capacidad para ofrecer resultados, en lugar de en el tamaño de una tarjeta SD que se enchufaron al oído. (risas)

Espero que funcione bien.

gahooa
fuente
Perdón por la respuesta tardía, me alegra que parezca que no tengo problemas.
Simon Wang
10

No es del todo seguro cuáles serían las tareas de un Senior + en su caso. Siempre tenga en cuenta que es mucho más importante saber cuáles son las tareas de su trabajo en lugar de cómo se llama su posición. Si bien tener a un Senior frente a su cargo puede tener un impacto en su resultado financiero, de ninguna manera dice nada sobre lo que realmente hace en su trabajo. Sin embargo, hay dos tipos diferentes de "desarrolladores" de nivel superior.

sistema arquitecto

Si fue entrevistado para tal puesto, entonces, de hecho, algo está mal. Estoy de acuerdo con gahooa en que dicha entrevista debería centrarse en el panorama general del candidato, que parece haberse perdido en la suya.

Sin embargo, también existe el tipo de perspectiva maligna sobre esto: en el trabajo diario, siempre estará abrumado por esos pequeños detalles y será su responsabilidad hacer un seguimiento del panorama general a pesar de todas estas perturbaciones menores. Si desea probar si un candidato no puede perderse a sí mismo en los pequeños detalles, una forma podría ser tratar de hundirlo en esos detalles. Si no les recordó que la posición de arquitectura prevista se trata del panorama general, es posible que haya fallado esa prueba. Aunque lo dudo, ya que este tipo de entrevistas ciertamente no está del lado amigable de las cosas.

Experto técnico

En este caso, es posible que no pueda influir mucho en la arquitectura general del sistema y la dirección de la empresa. En su lugar, se centrará en el nivel de diseño. Tenga en cuenta que todas las preguntas que dio como ejemplos encajan perfectamente en esta categoría. De un desarrollador senior responsable de los diseños de SW, espero que él / ella sepa cosas como JIT, GC, estructuras de datos, etc., sin necesidad de buscar nada más que los detalles más complejos. Si se supone que debe hacer un diseño de software, aún no sabe la diferencia entre una matriz y una lista, está en la posición incorrecta.

Al leer su pregunta, sospecho que su puesto de trabajo (el actual y el propuesto) se centra en el diseño de software. En ese caso, es posible que desee repensar lo que realmente debe saber / recordar y lo que no. Dado que usted trabaja con estas cosas día a día, debería haber poca necesidad de buscar algo para responder preguntas elementales como esas.


En una nota al margen: un ex profesor mío tenía el hábito interesante de hacer preguntas sobre materias elementales en exámenes orales en cursos avanzados. Si bien estas materias nunca fueron cubiertas explícitamente en el curso avanzado, se suponía que un estudiante las conocía de su educación primaria. En las entrevistas (de cualquier tipo) también me adhiero a este comportamiento, porque en los últimos años he sido testigo una y otra vez de cómo los estudiantes / candidatos para algo "avanzado" tienen una grave falta de fundamento. Dado ese razonamiento, por mi parte, no tengo reparos en preguntarle a un candidato para un puesto superior qué es un patrón de oyente, o cuáles son las ventajas y desventajas de mantener a los oyentes en una matriz frente a una lista frente a un conjunto.

Franco
fuente
En primer lugar, gracias por tu respuesta. En realidad no habrá cambios específicos en la tarea del trabajo, personalmente creo que lo que he hecho ya jugó como senior, como revisión de códigos, mentores de mentores, revisión del documento de BA y dar opiniones técnicas, diseño de arquitectura de nuevos proyectos, todavía es mi título. Me quedé sin senior y pedí uno para reflejar el recibo de sueldo y conducir a una entrevista de este tipo. Y mi objetivo definitivamente es trabajar para convertirme en el Arquitecto de sistemas, ya que en una empresa de este tipo Saas necesitan un Arquitecto de sistemas pero no un Experto técnico
Simon Wang
3

Lo siento, pero no creo que el tipo de preguntas que le hayan hecho sean trivia que deberían buscarse en Google cuando sea necesario. Esto puede ser cierto para el nombre de la clase cuando procesa Subir archivo, pero:

  • Qué es JIT: Esta es una preocupación tecnológica fundamental. Un programador senior definitivamente debe saber lo que esto significa, al menos, de alto nivel. Por ejemplo, esto afecta el rendimiento de diferentes máquinas virtuales y tiempos de ejecución, por lo tanto, al menos debe considerarse al evaluar una nueva tecnología.
  • cómo funciona GC: similar a lo anterior. Los algoritmos para GC son, en esencia, bastante simples, y al menos uno debe estar familiarizado con GC generacional versus marca y barrido, versus conteo de referencias y las diversas compensaciones
  • diferencia entre List y Array: esta es una pregunta básica que esperaría que un programador junior supiera
  • clase abstracta e interfaz: igual que la anterior. No entiendo cómo se espera que uno cree un sistema complejo sin conocer al menos interfaces
  • delegado y evento: nuevamente, para diseñar un sistema robusto y flexible, la delegación de eventos es uno de los patrones básicos.

Me parece que han hecho un buen trabajo al hacer preguntas conceptuales que son relevantes para un programador sénior sin perderse en trivia.

Andrea
fuente
+1: las preguntas con las que el OP tiene problemas son muy "detalles". Su nivel es bastante alto y se podría argumentar que es necesario saberlo para diseñar un sistema adecuadamente. Pero eso solo sería si la robustez, el mantenimiento y la capacidad de respuesta son preocupaciones para la aplicación que se está diseñando y construyendo.
Dunk
Entonces, basándome en esas preguntas respondidas, ¿cómo puede identificar que el candidato es Senior o intermedio o incluso solo junior, ya que él / ella puede simplemente carecer de habilidad pero es bueno para recordar cosas y leer un libro llamado Lista de preguntas de entrevistas .Net, donde puede identificar la capacidad de diseño, la capacidad de resolver problemas de esas preguntas?
Simon Wang
Esas no son preguntas de memoria. Puedo reconocer a una persona hablando de, digamos, recolección de basura de la memoria de alguien que sabe de lo que está hablando. Ahora, puedo estar de acuerdo en que uno podría querer hacer también algunas preguntas sobre el diseño (¿pero no es el que la delegación de eventos va en esa dirección?), Pero esta no es una excusa para tener un mal desempeño en las preguntas que se enumeran aquí.
Andrea
OK, tengo una idea y gracias, por cierto, no creo que me haya desempeñado mal en esas cosas, pero me preocupa cuál es el propósito de hacerlo, especialmente esta es una entrevista de promoción interna, es decir, no puedo ver la diferencia entre esta entrevista y uno cuando me uno a la compañía, y me hace sentir decepcionado por la carrera profesional aquí
Simon Wang
Lo siento si entendí mal tu pregunta. Hay muchas personas que hacen preguntas similares aquí, esencialmente para obtener apoyo si se desempeñaron mal en las entrevistas. Si su punto es que sabe cómo responder esas preguntas, pero prefiere que le hagan preguntas más sofisticadas sobre el diseño de software, solo puedo decir que estas preguntas no son tan malas y mnemotécnicas como lo hicieron otros en entrevistas. Ciertamente es posible hacerlo mejor, pero son razonables.
Andrea