¿Es difícil la entrevista inicial? ¿Cómo afrontar las entrevistas front-end fácilmente?
1. Conocimiento básico
Estructura DOM: qué relaciones pueden existir entre dos nodos y cómo agregarlas arbitrariamente. ellos para moverse entre ellos.
Operaciones DOM: cómo agregar, eliminar, mover, copiar, crear y buscar nodos.
Eventos: cómo utilizar los eventos, cuáles son las principales diferencias entre los modelos de eventos IE y DOM.
xmlhttprequest: qué es, cómo realizar una solicitud GET completa y cómo detectar errores.
Modo estricto y modo promiscuo: cómo activar estos dos modos y cuál es la importancia de distinguirlos.
Modelo de caja: la relación entre el borde exterior, el borde interior y el borde. ¿Cuál es la diferencia entre los modelos de caja en navegadores inferiores a IE8?
Elementos a nivel de bloque y elementos en línea: cómo controlarlos con CSS, cómo afectan a los elementos circundantes y cómo cree que deberían definirse.
Elementos flotantes: cómo utilizarlos, cuáles son los problemas y cómo solucionarlos.
HTML y XHTML: ¿cuál es la diferencia? ¿Cuál crees que debería usarse y por qué?
JSON: qué es, por qué debería usarse, cómo usarlo y hablar sobre los detalles de implementación.
En segundo lugar, un pequeño número de problemas
Ahora uno muestra Yahoo! Página de precios de acciones. Hay un botón en la página en el que puede hacer clic para actualizar los precios, pero la página no se recarga. Describa el proceso de implementación de esta función, suponiendo que el servidor será responsable de preparar los datos correctos del precio de las acciones.
Esta pregunta implica un conjunto de puntos de conocimiento básicos que quiero examinar: estructura DOM, operaciones DOM, procesamiento de eventos, XHR y JSON. Si le pidiera que cambiara la forma en que maneja los precios de las acciones, o que mostrara información adicional en la página, podría incluir más puntos de conocimiento. Para los candidatos más experimentados, también puedo ampliar libremente el alcance del conocimiento a examinar, como la diferencia más simple entre JOSN y XML, cuestiones de seguridad, cuestiones de capacidad, etc.
También preferiría no utilizar esta biblioteca en ninguna solución proporcionada por el solicitante. Quiero ver el código original y pretender que la página no contiene ninguna biblioteca. Dijiste cuánto sabes sobre qué biblioteca, pero no puedo usar el conocimiento sobre la biblioteca como un factor para juzgar la capacidad, porque las bibliotecas cambiarán con el tiempo.
En tercer lugar, resolver problemas
Como ingeniero de front-end, lo más feliz es que hay muchas formas diferentes de resolver el mismo problema y todo lo que tienes que hacer es encontrar la el más adecuado. Cuando hago preguntas, suelo preguntar a los candidatos si existe un segundo método después de explicar uno. En este momento les diré, si su método es rechazado por varios motivos, ¿pueden darme otro método? Esto logra dos propósitos.
Primero, puedes comprobar si están repitiendo cosas del libro sin sentido. No se puede negar que algunas personas tienen el don de nunca olvidar. Escuchándolos hablar allí, uno pensaría que lo sabían todo. Sin embargo, cuando hablo con estas personas sobre cómo descubrir por qué el plan es ineficaz y si puedo idear nuevos planes, a menudo se quedan estupefactos. En este momento, si escucho una pregunta retórica como "No entiendo por qué esta solución no es lo suficientemente buena", entenderé inmediatamente que mi problema está más allá de su capacidad y que solo quieren arreglárselas con sus conclusiones de memoria.
En segundo lugar, pueden poner a prueba sus conocimientos sobre la tecnología de los navegadores (nuevamente, "ni se te ocurra pensar en ello"). Si tienen un buen conocimiento de los conocimientos básicos de la plataforma del navegador, no es tan difícil encontrar diferentes soluciones al mismo problema.
Nota: Todas las preguntas están relacionadas con la tecnología del navegador. No creo que unas cuantas preguntas de lógica abstracta puedan poner a prueba la capacidad de una persona para resolver problemas técnicos de la Web. En mi opinión, esto equivale a pedirle a un maestro dibujante que dibuje un retrato. No tiene sentido y no proporciona ninguna información valiosa.
Cuarto, tener pasión
Lo más importante para ser un excelente ingeniero front-end es tener pasión por lo que haces. Nuestras habilidades no se aprenden en escuelas ni seminarios, por lo que los ingenieros front-end deben ser autodidactas. La tecnología de los navegadores cambia cada día que pasa y sólo mejorando constantemente tus habilidades podrás mantenerte al día. Aunque no puedo obligar a nadie a leer más blogs y seguir aprendiendo, me temo que las personas que quieran postularse para ingenieros de front-end deben hacerlo.
¿Cómo saber quién siente pasión por este tipo de trabajo? En realidad es muy simple. Simplemente hago una pregunta simple: "¿Qué tecnología web le interesa más en este momento?" Esta pregunta nunca caduca y es casi imposible equivocarse... a menos que no pueda responderla. Por ahora, espero que las tecnologías que ha proporcionado para resolver este problema incluyan WebSocket, HTML, WebGL, bases de datos de clientes, etc. Sólo aquellos que aman el desarrollo web persistirán en aprender nuevos conocimientos y dominar nuevas habilidades;
Quinto y último punto
Por supuesto, los conocimientos de informática o diseño web son útiles, pero eso es todo. más allá de lo básico. Mientras existan los conocimientos básicos, todo tiene una base y no es difícil ampliar tus conocimientos. Pero si tienes que aprender habilidades básicas desde cero después de comenzar a trabajar oficialmente, la dificultad será diferente.