Tenga en cuenta que es posible que no sea la mejor fuente de asesoramiento aquí: escribo código de forma episódica, no a diario, y paso la mayor parte del tiempo a nivel del sistema. Pero, por lo que vale:
- Busque quora para diversas opiniones sobre la codificación de entrevistas. Muchas personas piensan que son una mierda, ya que el trabajo real tiende a tomar tiempo, pensar y prestar atención a los detalles que no guardan relación con el tratamiento de problemas de problemas con la presión del tiempo.
- Personalmente, creo que lo más importante es encontrar un modelo conceptual manejable para un problema, y que es diferente para cada problema. A veces es flujo de datos: defina los objetos o los archivos y cómo fluyen los datos entre ellos. A veces es flujo de control, y a veces es simple y paso a paso, a veces es impulsado por eventos, a veces es masivamente concurrente. Cuando estoy diseñando un sistema, pasé mucho tiempo frente a una pizarra blanca, dibujando y volviendo a dibujar cosas, hasta que un diseño general se vuelve claro y simple (o lo más simple posible), lo que incluye identificar los principales bloques de construcción ( tablas de bases de datos, procesos, módulos de código, etc.). Ese es el punto en el que creo que el código real.
- Cuando la opción esté disponible, elegiré un idioma y un entorno que se asignen al espacio problemático, y mucho de eso tiene que ver con las bibliotecas disponibles. Para algunas cosas, la respuesta más fácil es comenzar con Excel y escribir algunas macros. Para otros, el enfoque más limpio es generar lotes y perder procesos, en cuyo caso Erlang es la respuesta. Para un sitio web, HTML, CSS y Javascript en el front-end, y PHP en el back-end son a menudo los más simples. Y luego está esa amplia gama de problemas donde c, o java, o python son las armas de elección.
- En general, si ha pensado lo suficiente sobre el problema, lo mapeó en un lenguaje apropiado y lo trazó de alguna manera (dibujos, pseudocódigo, lo que sea) y lo ESCRIBO para que pueda consultarlo, entonces es un Es mucho más fácil hacer un seguimiento de todas las piezas.
En general, si está “perdiendo la noción de los condicionales, los bucles y los estados de los objetos”, entonces todavía no ha desglosado las cosas lo suficiente, o tiene un modelo conceptual que no se asigna de manera clara el problema. Es una señal de que no has pensado las cosas lo suficiente.
Por otra parte, soy un poco de la vieja escuela. Me gusta trabajar de arriba hacia abajo y pasar mucho tiempo diseñando antes de tocar un teclado. Si no puedo ver claramente cómo funcionan las cosas y cómo encajan, preferiblemente en mi mente, pero en una pizarra para cosas más complicadas, entonces sé que no estoy listo para comenzar a escribir código. Su experiencia puede ser diferente.
- ¿Los programadores o programadores competitivos rápidos generalmente usan esta posición de manos?
- ¿Cuáles son los mejores marcos de backend y por qué?
- ¿La metodología Agile está haciendo que el ciclo de vida del desarrollo de software sea más amigable para el cliente?
- Soy un estudiante de segundo año haciendo una licenciatura en ingeniería de sistemas de información. Necesito completar mi pasantía por seis en tercer año. ¿Cómo puedo tener la oportunidad de hacer mi pasantía en Europa o Estados Unidos?
- ¿Por qué muchos de los errores de software en OpenHatch tienen más de un año?