¿Cómo obtuve la oferta de pasantía de Alibaba Android?
1. Tener una buena base informática.
La base informática aquí se refiere a estructuras de datos y algoritmos, sistemas operativos, principios de compilación, redes informáticas, etc. Aunque en comparación con otras direcciones, el front-end puede usar menos conceptos básicos de computadora en el trabajo, pero independientemente del tamaño de la fábrica, reclutar pasantes en realidad es prepararse para el reclutamiento formal, por lo que esperan que haya más espacio para el desarrollo en el En el futuro, como en la Web, ¿significa mucho separar el front-end y el back-end? - Respuestas de los usuarios de Zhihu y ¿Cómo convertirse en desarrollador Full Stack? - La respuesta del usuario de Zhihu describe el tipo.
Si tiene buenos conocimientos básicos de informática, podrá ampliarlos a otros campos en el futuro (WebGL - gráficos por ordenador, capa inferior de Node.js - sistema operativo, motor JS y varias herramientas de precompilación - Principios de compilación, etc.) le ayudará a empezar más rápido. Además, el concepto de front-end de algunas empresas no se limita al front-end web, sino que también incluye la parte frontal del terminal móvil. Esto también requiere una buena base informática para funcionar bien. Muchas personas en el campo del front-end ya no están satisfechas con la construcción de ruedas y van directamente a la construcción de lenguajes. Si su base de programación es lo suficientemente buena y ha estado expuesto a varios lenguajes y paradigmas de programación, será más fácil. comience con estas cosas (como Ruby/Python -gt;CoffeeScript, Haskell-gt;LiveScript).
Aunque hay muchos lugares que reducirán los requisitos de conocimientos básicos de informática para poder contratar suficientes personas de front-end que puedan trabajar, no hay nada de malo en sentar una buena base en esta área si se pregunta y se responde. En la entrevista escrita, si subes, puedes obtener puntos extra. Algunas grandes empresas a menudo tienen situaciones en las que "los entrevistadores que no son front-end vienen al front-end". Personalmente, creo que si dichos entrevistadores hacen preguntas informáticas básicas, no hay nada de malo en ello, después de todo, están entrevistando a "un". programa front-end". Antes de convertirme en "programador", conocí a "un programador"...
2. Es necesario comprender algunas tecnologías nuevas en el front-end moderno
Por ejemplo:
Herramientas de automatización front-end (Gulp/Grunt, etc.)
Modularización (CommonJS, cargador de módulos AMD/CMD, varios paquetes, módulos ES2015, etc. )
Framework MV* front-end (Backbone, Angular, etc.)
Algunos lenguajes compilados en CSS y JS (Less/Sass/CoffeeScript, etc.) p>
Herramientas de prueba automatizadas de front-end (Karma, Mocha, Web Driver, etc.)
Otras
Algunos estudiantes piensan que cuanto más saben sobre estas cosas, mejor Mejor personalmente, no creo que necesites conocer todas estas herramientas (después de todo, hay muchas y es posible que no sean populares por mucho tiempo), pero debes tener una comprensión general de estas cosas y. haber utilizado uno o dos en cada campo (preferiblemente en proyectos) y comprender sus ventajas, desventajas y necesidades. Este es un signo que distingue a quienes han invertido cierta cantidad de energía en front-end y quienes cruzan industrias para trabajar a tiempo parcial como front-end.
Habrá muchas personas que solicitan trabajos de front-end en grandes escuelas industriales que solo han realizado algunos proyectos web, pero no necesariamente saben mucho sobre tecnología de front-end. Simplemente envían sus currículums porque. El umbral inicial es relativamente bajo. Si está familiarizado con estas nuevas tecnologías, al menos puede demostrar que está más concentrado en el front-end y le ha dedicado cierta cantidad de tiempo.
Al mismo tiempo, el front-end es de hecho un campo en el que surgen muchas ruedas todos los días, y también es necesario tener una capacidad de autoaprendizaje y una capacidad de lectura de documentos (inglés) lo suficientemente sólidas para mantenerse al día. con estos nuevos desarrollos en la comunidad. Sólo cuando hayas estado expuesto a más ruedas podrás tener tu propio juicio, y no siempre seguirás lo que otros dicen ni seguirás a los demás.
Entre estas herramientas, hay muchas que pueden mejorar la productividad del front-end o la calidad del código en escenarios apropiados. Prestar atención a estas cosas también demuestra que usted se preocupa por su propia productividad y la calidad del código. un programador confiable.
3. Comprender qué son los estándares web y los procesos de desarrollo y mantenimiento de navegadores, y ser capaz de realizar un seguimiento de los estándares recientemente lanzados y de las funciones recientemente implementadas en los navegadores convencionales.
Por supuesto, esto es Por lo general, durante las entrevistas no le haré preguntas sobre esto directamente, pero si comprende de qué se trata el agua en esto, puede responder muchas preguntas (especialmente cuestiones de compatibilidad) de manera más profunda. Lo mejor es saber:
Cómo se formulan HTML, CSS, DOM, ECMAScript y algunos estándares pan-HTML5
La diferencia entre W3C y WHATWG
Varios estándares ¿Cuáles son las diferentes versiones y estados de envío de
Conozca la brecha entre estándares e implementaciones (a algunas personas les gusta considerar los estándares del W3C como guía, pero en realidad los navegadores no son así)
Conozca la diferencia entre ECMAScript y JavaScript
Conozca las razones de algunas prácticas comunes de los navegadores (como anteponer propiedades CSS)
Las aguas de los estándares y los navegadores todavía están muy turbias, lo que involucra Hay muchos conflictos de intereses y juegos entre grandes fabricantes. Si conoce algunas de sus cosas, será más fácil no solo hacer la compatibilidad del front-end usted mismo (no solo se quejará de "Por qué XXX no puede ser OOO", sino que también se quejará). comprender su impotencia y tomarlo en serio buscando soluciones), y más fácil de digerir cuando aparecen nuevas funciones (no "Oh, hay algo nuevo que es muy molesto de aprender", sino "Finalmente discutieron (bi) en la lista de correo". Hasta luego, saca esto"), tendrás un sistema de conocimiento mucho más organizado de las partes más básicas del front-end. Personalmente, creo que esta es una de las claves para distinguir entre interfaces más experimentadas y interfaces temporales. Estas cosas requieren que estés inmerso en ellas durante un período de tiempo antes de que puedas descubrirlas y afectarán tu desempeño. trabajar hasta cierto punto.
4. Leer más libros y prestar más atención a la información técnica
Las fuentes de información técnica incluyen RSS, suscripciones por correo electrónico, listas de correo más importantes o seguir algunas de las más influyentes. en Twitter y Weibo. Desarrollador poderoso. Mi experiencia personal es que normalmente durante la segunda o tercera entrevista, el entrevistador hará preguntas como "¿Dónde entró en contacto con las nuevas tecnologías de front-end/Qué libros ha leído porque la tecnología de front-end ahora se actualiza muy rápidamente?" Y están más centrados en el front-end. Las personas en el campo generalmente tienen sus propios canales para contactar con nuevas tecnologías y, naturalmente, estarán más preocupados por si los candidatos siguen algunas tendencias en la comunidad. De hecho, esto también puede excluir a aquellos que no son muy confiables y provienen de diferentes industrias, porque generalmente no prestan atención a los nuevos desarrollos en tecnología front-end.
5. No sólo sabes cómo escribir algunas cosas, sino también cómo no escribir otras.
La mayoría de los estándares web no son estrictamente compatibles con versiones anteriores. Muchos métodos de escritura que eran comúnmente. utilizadas hace unos años ahora se recomienda encarecidamente que la mayoría de las personas en la comunidad las eviten, y muchas funciones se han etiquetado como obsoletas con el tiempo si tiene la mala suerte de comenzar con un libro anterior y no lo verifica. todo lo mencionado anteriormente en línea, en una palabra, es muy probable que haya sido engañado durante mucho tiempo. Por ejemplo, ¿se puede reemplazar HTML gradualmente por XML? (De "La guía definitiva de CSS") - La respuesta de He Shijun a esta situación... Similar a esto:
La sorprendente cantidad de trampas en JavaScript
Alguna experiencia Los relativamente ricos El front-end parece tener sentido común (por ejemplo: ¿por qué CSS se coloca principalmente en el encabezado y JavaScript en la parte inferior del cuerpo?)
La forma correcta de dividir varios módulos y archivos y agregar plantillas ( como La forma incorrecta es escribir un montón de scripts/estilos en un archivo muy grande, o deletrear cadenas en JavaScript cuando hay alternativas)
Nuevas mejores/mejores prácticas que resuelven algunos problemas antiguos (como como No te quedes atrapado en el infierno de las devoluciones de llamadas en 2015, consulta las promesas y los generadores)
Estos conocimientos requieren que tengas cierta experiencia en front-end. He visto comparaciones Solo acumulando lentamente más blogs y libros relacionados se puede distinguir entre interfaces confiables y no confiables.
6. No depender de un framework o biblioteca específica
Por ejemplo, la estrella muy común que "no puede escribir front-end sin jQuery"... no significa hacerlo nativo. JavaScript/Fundamentalistas de CSS y DOM, pero si depende en gran medida de un determinado marco o biblioteca, generalmente significa que su costo de aprendizaje para cambiar a un marco/biblioteca será mayor que el de alguien que no depende de una rueda específica. , porque esto generalmente aún no se hace. Conozca el desempeño de la fase "qué es qué" en el campo front-end.
De hecho, algunas de estas ruedas en el campo front-end han estado disponibles durante mucho tiempo en otros campos, o no son necesarias en absoluto. Muchos de los principios de implementación no son tan complicados, son solo trabajo sucio. . Personalmente, creo que deberíamos tener una actitud de "no sé qué es pero no sé por qué" cuando se trata de estas cosas. Al menos tengo una idea aproximada de cómo se implementan. sus ventajas y desventajas, y estar expuesto a más de ellas, de modo que cuando cambie a un sustituto, no me lleve mucho tiempo empezar.
Debido a la particularidad del front-end, es necesario utilizar bibliotecas y marcos al desarrollar proyectos más grandes (por ejemplo, cuando se encuentran problemas de compatibilidad del front-end con varios eventos del mouse, no siempre se pueden escribir todos De lo contrario, debe encapsularlo. Si encuentra un proyecto muy basado en datos, es difícil mantenerlo manipulando manualmente el DOM. Usar un marco MV * en realidad no es solo pereza), pero estas cosas cambiarán rápidamente. Sí, de hecho no es confiable ceñirse a una biblioteca o marco específico. A muchas empresas les gusta hacer preguntas a los candidatos como "¿Cómo escribir una solicitud Ajax para una API nativa?" Parece que están excluyendo a esas personas en gran medida...