Cómo determinar rápidamente el nivel de programación de un programador
Si deseas determinar rápidamente el nivel de programación de un programador, puedes considerar los siguientes cuatro aspectos:
Primero, la inspección del conocimiento. Esto lo hacen casi todas las empresas y también es un método muy eficaz. Básicamente es un examen. Incluyendo preguntas sobre gramática, preguntas sobre algoritmos estándar, preguntas sobre API y todas las preguntas que tienen respuestas estándar. Una persona que sabe mucho no necesariamente será capaz de escribir particularmente bien, pero una persona que no entiende nada no necesariamente será capaz de escribir con claridad. Este método también puede seleccionar talentos según las necesidades. Por ejemplo, si estamos haciendo front-end en PHP, entonces puedo preguntar mucho sobre PHP. Si estoy integrado, entonces puedo preguntar mucho sobre C. Puede examinar qué tan bien el programador satisface las necesidades de la empresa. Este es también el método más sencillo e intuitivo.
En segundo lugar, comprensión de proyectos pasados. Esta también es una pregunta muy común en los currículums. Cuéntanos sobre el proyecto en el que estabas trabajando en ese momento. Esta pregunta es una prueba muy eficaz para saber si comprende lo que ha hecho antes. Los currículums de algunas personas son muy hermosos, pero el proyecto real no tiene nada que ver con ellos, o simplemente copiaron y pegaron el código, pero en realidad no escribieron nada. En este momento, después de hablar con él lo suficientemente profundamente, será obvio que no puede explicarse. Al mismo tiempo, también se pueden evaluar ciertas habilidades de expresión del lenguaje y habilidades lógicas. En nuestras palabras, primero pregunte sobre la profundidad que el entrevistador no conoce y luego pídale que se lo explique claramente. Si lo que hace se confunde ante el entrevistador (suponiendo que el entrevistador no esté trabajando en esta dirección), generalmente será una tragedia.
En tercer lugar, la comprensión de cómo escribir el programa en sí. Nos gusta hacer una pregunta para describir cómo se escriben programas. Cualquiera que diga que diseño todos los módulos, interfaces y funciones de antemano y luego los implemento uno por uno, y luego el programa funcionará, todos agregamos silenciosamente "jaja" en nuestros corazones. Debido a que esto es imposible, solo significa que nunca ha escrito un programa grande o no ha resumido la experiencia de escribir un programa. Nadie ha completado el diseño de todos los módulos antes de escribir un programa con más de mil líneas, y mucho menos un programa más grande. Por supuesto, también está la cuestión de si pensará que el programa se completará después de ejecutarlo una vez (es decir, si hay una etapa de prueba al escribir el programa), etc.
En cuarto lugar, la capacidad de escribir programas a mano. Para ser honesto, esto no es fácil de probar durante la entrevista porque el tiempo es limitado. Las grandes empresas de hoy básicamente tienen una ronda de 45 a 60 minutos, y en cada ronda se hacen varias preguntas de programación, por lo que los códigos escritos son todos fragmentos, alrededor de 20 líneas, que no pueden reflejar si una persona puede escribir programas en absoluto. Por lo tanto, muchas personas no necesitan poder escribir programas, solo necesitan dominar bancos de preguntas de algoritmos como Leetcode para unirse a grandes empresas (créanme, conozco muchas). Creemos que un buen programador debe realizar un trabajo completo en un tiempo limitado y un programa que cumpla con los requisitos. Verificación desde la entrada hasta la salida y hasta el caso de esquina. En lugar de simplemente estudiar y comprender cómo se puede resolver un algoritmo básico usando nlogn en lugar de n^2. Innumerables personas guapas pasaron este nivel. Porque es imposible encontrar la solución óptima a nuestro problema en ese tiempo, al igual que la programación en la mayoría de proyectos. Una mejor solución disponible suele ser mucho más valiosa que la solución óptima, porque esta última requiere mucho tiempo, puede no ser tan sencilla como la primera y la mejora puede no ser muy alta. Esto es lo que más le importa a nuestra empresa.