JavaRush /Blog Java /Random-ES /Pausa para el café #49. Ejemplos de código que todo desar...

Pausa para el café #49. Ejemplos de código que todo desarrollador debería ver. Cómo prepararse para una entrevista

Publicado en el grupo Random-ES

Ejemplos de código que todo desarrollador debería ver

Fuente: Medio A veces, en mi tiempo libre, deambulo por los repositorios de GitHub. Cuando empiezo a aprender nuevos programas, herramientas o utilidades, trato de verlos en acción. Para hacer esto, miro su código: me ayuda a comprender cómo funciona todo, qué módulos y dependencias externas hay. La inmersión en la tecnología proporciona sensaciones increíbles y permite adquirir nuevos conocimientos. Pausa para el café #49.  Ejemplos de código que todo desarrollador debería ver.  Cómo prepararse para una entrevista - 1En mi artículo, me gustaría compartir los ejemplos de código más impresionantes que encontré mientras recorría los repositorios.

Programa de control del Apolo 11

El Apolo 11 es la nave espacial que llevó al hombre a la Luna. La computadora de control de a bordo (AGC) controlaba la operación de vuelo con sólo 4 kilobytes de memoria física. El software AGC, escrito en lenguaje ensamblador, se almacenó en una memoria especial de sólo lectura (memoria de cuerda). Hace varios años, se publicaron en Internet copias escaneadas en papel de este código fuente . Luego, alguien escribió varios módulos en archivos de texto y los cargó en el repositorio de GitHub . Pausa para el café #49.  Ejemplos de código que todo desarrollador debería ver.  Cómo prepararse para una entrevista - 2El equipo de ingeniería del Apolo 11 trabajó duro para lograr este sorprendente resultado. Escribieron muchas líneas de código en lenguaje ensamblador, a pesar de que la programación era mucho más difícil en la década de 1960 que ahora. En aquella época los lenguajes de programación tenían un menor nivel de abstracción. Además, debido al bajo consumo de energía del hardware, los desarrolladores tuvieron que escribir código altamente optimizado.

Arena Sismo III

Quake III Arena es un videojuego de disparos en primera persona creado por id Software. El juego apareció en la década de 1990, cuando la industria de los juegos 3D apenas comenzaba. Para su desarrollo se utilizó el motor de juego id Tech 3. Al igual que en el programa lunar Apollo 11, debido a limitaciones en los recursos de hardware, el código para la representación de gráficos se optimizó en gran medida. Muchos cálculos de programación de juegos requieren el concepto de normalización vectorial, lo que requiere calcular la raíz cuadrada inversa. Debido a que los desarrolladores necesitaban elegir los algoritmos más eficientes para gráficos por computadora, Quake III Arena adoptó un enfoque inteligente para calcular rápidamente la raíz cuadrada inversa utilizando cálculos a nivel de bits. Pausa para el café #49.  Ejemplos de código que todo desarrollador debería ver.  Cómo prepararse para una entrevista - 3El nivel de optimización en parte del código que ves, y de hecho en todo el código que se usó para crear juegos en la década de 1990, es simplemente asombroso. Hoy en día, los desarrolladores de videojuegos normalmente no realizan cálculos a este nivel porque muchas funciones se realizan en el nivel del motor del juego.

Colección de compiladores GNU

El lenguaje de programación C puede considerarse el padre de la programación moderna porque está muy cerca del hardware, pero al mismo tiempo ofrece un buen nivel de abstracción que es comprensible para los humanos. El compilador GNU C es un compilador de arranque. Es decir, está escrito en C utilizando el concepto de desenrollado del compilador. En el código de la colección de compiladores GNU en GitHub, encontré el archivo fuente C más largo que jamás haya visto (puede que haya archivos más largos, pero este es el que encontré).Pausa para el café #49.  Ejemplos de código que todo desarrollador debería ver.  Cómo prepararse para una entrevista - 4

Cromo

Navegadores populares como Google Chrome, Microsoft Edge y Opera se basan en el proyecto de código abierto Chromium. Este proyecto tiene dos dependencias principales: el motor Blink (una bifurcación de la biblioteca WebCore del equipo Webkit) y el motor JavaScript V8 desarrollado por el equipo del proyecto Chromium. Por supuesto, el código de Chromium es bastante extenso y contiene muchos módulos de terceros como gRPC y Skia . Pero los desarrolladores de Chromium lograron estructurar todos estos componentes a la perfección. El código base separa inteligentemente la lógica de funciones internas de la lógica de la interfaz de usuario. Esto garantiza un buen soporte para todo el proyecto. Pausa para el café #49.  Ejemplos de código que todo desarrollador debería ver.  Cómo prepararse para una entrevista - 5Además, el código del proyecto contiene el código fuente de las aplicaciones Chromium para Android e iOS. Estructurar aplicaciones multiplataforma altamente escalables puede resultar un desafío. Sin embargo, Chromium tiene una separación de código realmente impresionante entre Linux, Windows y Mac.

Gitk

Hoy en día, todos los equipos utilizan Git para gestionar las versiones del código. Este sistema de control de versiones fue desarrollado por Linus Torvalds (creador del kernel del sistema operativo GNU/Linux). El código base de Git incluye el código fuente de Gitk. Gitk es una aplicación GUI que proporciona navegación visual a través de confirmaciones. Para ver en qué se diferencian dos confirmaciones, puede utilizar el siguiente comando:
$ git diff <commit hash> <commit hash>
Pero como Gitk es una herramienta visual, podemos ver la diferencia mucho más rápido con ella. Pausa para el café #49.  Ejemplos de código que todo desarrollador debería ver.  Cómo prepararse para una entrevista - 6Todo el código fuente de Gitk cabe en uno . El código está escrito en el lenguaje de programación Tcl utilizando el kit de herramientas Tk UI, una extensión de Tcl. Condensar una aplicación GUI completa en un solo archivo es una tarea difícil.

¿Cómo puede prepararse un desarrollador para una entrevista?

Fuente: Hackernoon Recuerdo mi primera entrevista. Acababa de terminar la carrera y estaba solicitando unas prácticas en una empresa financiera en Madrid. Estaba muy nervioso porque no sabía cómo sería la entrevista y no estaba al tanto de las tendencias actuales en el desarrollo de software. Fue después de Semana Santa, solo tenía 21 años y me habría resultado más divertido pasar tiempo con amigos en la playa. Pero en lugar de divertirme, tuve que prepararme para una entrevista. Pausa para el café #49.  Ejemplos de código que todo desarrollador debería ver.  Cómo prepararse para una entrevista - 7El primer paso antes de cada entrevista es conocerse. Te piden tu nombre, dirección, especialidad, etcétera. Después de esto, se le realizará una entrevista personal, que puede ser cara a cara o mediante enlace de vídeo. En cualquier caso, esta entrevista pondrá a prueba tu experiencia, conocimientos y habilidades para el puesto que estás solicitando. Luego probablemente se le pedirá que escriba un código en el que demuestre su capacidad para resolver problemas o problemas. Además, es posible que espere una entrevista con un gerente de proyecto o director de la empresa. Esto depende del puesto que esté solicitando. El proceso de entrevista puede llevar mucho tiempo. Por tanto, hay que tener paciencia y mantener la calma. He preparado algunos consejos y trucos para ti sobre este asunto.

Investigue el puesto para asegurarse de que sea adecuado para usted.

A veces, cuando buscamos trabajo, simplemente nos presentamos a una entrevista sin mirar toda la información sobre el puesto. Es mejor aclarar con antelación la lista de responsabilidades y el horario de trabajo. Compruebe también si la empresa y el puesto se ajustan a sus requisitos.

Intente mantenerse actualizado con las tendencias de su carrera.

Un gran error es no seguir las tendencias y las nuevas tecnologías en tu trabajo. Probablemente seas desarrollador o gerente de proyectos, tienes tu propia forma de trabajar en tu rol actual y la misma tecnología para todos tus proyectos. Pero intente dedicar un poco de tiempo todos los días a aprender nuevas tecnologías. Esto es muy importante en nuestra carrera. Debe mantenerse actualizado con nuevos marcos, nuevas metodologías y más. Esto hará una gran diferencia en su entrevista.

Durante una entrevista presencial o videollamada: intenta lucir bien y relajarte

Tu apariencia es tan importante como el diseño de tu aplicación. Es posible que tengas un backend perfecto, pero si tu aplicación tiene un frontend deficiente, te resultará difícil vender tu producto. Lo mismo ocurre con tu apariencia: en una entrevista debes lucir, si no formal, al menos decente. Esto demostrará su voluntad de seguir las reglas corporativas. Sé que algunas personas aquí pensarán: "Oye, soy un genio, ¿por qué debería preocuparme por mi apariencia?". Bueno, si eres un genio y te ves bien , ¡definitivamente causarás una buena impresión!

Tome su tiempo

Antes de la entrevista, es necesario prepararse, estudiar temas, practicar algoritmos y resolución de problemas y preparar un discurso. Algunos de estos procesos son largos y toman tiempo. Así que asegúrese de tener una ventaja aquí.

Práctica

Depende de tu experiencia, pero mi recomendación aquí es que si tienes que escribir código en una entrevista, escríbelo correctamente. Para hacer esto, necesita aprender a limpiar y revisar el código. Esto te ayudará a reorganizar o mejorar algunas de sus funciones.

Demuestra tu experiencia en una entrevista cara a cara o en código

Intenta mostrar experiencia. Una entrevista es el lugar perfecto para explicarle al entrevistador por qué la empresa debería contratarte. Antes de la entrevista, familiarícese con los conceptos básicos de programación, las metodologías y las mejores prácticas.

Duerma lo suficiente el día antes de su entrevista.

Intenta dormir lo suficiente. Esto le ayudará a mantenerse concentrado al día siguiente. Si no sabe las respuestas a alguna de las preguntas de la entrevista, no mienta ; sea honesto, le ayudará a evitar muchas complicaciones en el futuro. Y esto te ayudará a ver tus debilidades que necesitas mejorar.

Confía en tus respuestas

No dudes de ti mismo. Nunca.

Durante la entrevista debes proyectar seguridad y confianza a todos.

Si no tienes esta habilidad, probablemente necesites trabajar en ella. La confianza es cuando respondes: "No sé la respuesta, pero puedo buscarla y responder más tarde". Esta opción de respuesta muestra seguridad y confianza.

Analiza la entrevista

Cada entrevista es diferente, pero todas comparten algunos rasgos similares. Por lo tanto, después de la entrevista, debes reflexionar sobre lo que te salió bien o mal. Una entrevista es un buen momento para mirarte a ti mismo desde fuera, tus fortalezas y debilidades.
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION