Soy ingeniero informático. ¿Qué tipo de preguntas debo esperar para una entrevista técnica en Skype?

Las entrevistas técnicas se utilizan generalmente para evaluar candidatos para puestos de posgrado técnicos o especializados (como trabajos en TI, Ingeniería y Ciencia) en lugar de esquemas generales de posgrado.

P. ¿Qué es el software de computadora?

R. El software de la computadora es un paquete completo que incluye un programa de software, su documentación y una guía del usuario sobre cómo usar el software.

P. ¿Puede diferenciar el software y el programa de computadora?

R. Un programa de computadora es una pieza de código de programación que realiza una tarea bien definida donde el software incluye código de programación, su documentación y guía del usuario.

P. ¿Qué es la ingeniería de software ?

R. La ingeniería de software es una rama de ingeniería asociada con el desarrollo de sistemas de software.

P. Cuando conoce la programación, ¿cuál es la necesidad de aprender conceptos de ingeniería de software?

R. Una persona que sabe cómo construir un muro puede no ser buena para construir una casa entera. Del mismo modo, una persona que puede escribir programas puede no tener conocimiento de otros conceptos de Ingeniería de Software. Los conceptos de ingeniería de software guían a los programadores sobre cómo evaluar los requisitos del usuario final, diseñar los algoritmos antes de que comience la codificación real, crear programas codificando, probando el código y su documentación.

P. ¿Qué es el proceso de software o el Ciclo de vida de desarrollo de software (SDLC)?

A. El Ciclo de vida del desarrollo de software, o proceso de software, es el desarrollo sistemático de software siguiendo cada etapa del proceso de desarrollo, a saber, recopilación de requisitos, análisis del sistema, diseño, codificación, prueba, mantenimiento y documentación en ese orden.

P. ¿Qué modelos de SDLC están disponibles?

A. Hay varios modelos SDLC disponibles, como el modelo Waterfall, el modelo iterativo, el modelo espiral, el modelo V y el modelo Big-bang, etc.

P. ¿Cuáles son las diversas fases de SDLC?

A. Las fases genéricas de SDLC son: recopilación de requisitos, análisis y diseño del sistema, codificación, prueba e implementación. Las fases dependen del modelo que elijamos para desarrollar software.

P. ¿Qué modelo de SDLC es el mejor?

A. Los modelos SDLC se adoptan según los requisitos del proceso de desarrollo. Puede ser muy software a software para garantizar qué modelo es adecuado.

Podemos seleccionar el mejor modelo SDLC si se satisfacen las siguientes respuestas:

  • ¿Es SDLC adecuado para la tecnología seleccionada para implementar el software?
  • ¿El SDLC es apropiado para los requisitos y prioridades del cliente?
  • ¿El modelo SDLC es adecuado para el tamaño y la complejidad del software?
  • ¿El modelo SDLC es adecuado para el tipo de proyectos e ingeniería que hacemos?
  • ¿El SDLC es apropiado para los desarrolladores geográficamente ubicados o dispersos?

P. ¿Qué es la gestión de proyectos de software?

R. La gestión de proyectos de software es el proceso de gestionar todas las actividades, como la gestión del tiempo, los costos y la calidad que intervienen en el desarrollo de software.

P. ¿Quién es el administrador de proyectos de software?

R. Un gerente de proyecto de software es una persona que asume la responsabilidad de llevar a cabo el proyecto de software.

P. ¿Qué hace el administrador de proyectos de software?

A. El gerente de proyectos de software se dedica a las actividades de gestión de software. Es responsable de la planificación del proyecto, el seguimiento del progreso, la comunicación entre las partes interesadas, la gestión de riesgos y recursos, la ejecución fluida del desarrollo y la entrega del proyecto en tiempo, costo y calidad.

P. ¿Qué es el alcance del software?

A. El alcance del software es un límite bien definido, que abarca todas las actividades que se realizan para desarrollar y entregar el producto de software.

El alcance del software define claramente todas las funcionalidades y artefactos que se entregarán como parte del software. El alcance identifica qué hará el producto y qué no hará, qué contendrá el producto final y qué no contendrá.

P. ¿Qué es la estimación del proyecto?

R. Es un proceso para estimar varios aspectos del producto de software con el fin de calcular el costo de desarrollo en términos de esfuerzos, tiempo y recursos. Esta estimación puede derivarse de la experiencia pasada, consultando expertos o usando fórmulas predefinidas.

P. ¿Cómo podemos deducir el tamaño del producto de software?

A. El tamaño del producto de software se puede calcular utilizando cualquiera de los dos métodos:

  • Contando las líneas del código entregado
  • Contar puntos de función entregados

P. ¿Qué son los puntos de función?

A. Los puntos de función son las diversas características proporcionadas por el producto de software. Se considera como una unidad de medida para el tamaño del software.

P. ¿Cuáles son las técnicas de estimación de proyectos de software disponibles?

R. Existen muchas técnicas de estimación disponibles. Las más utilizadas son:

  • Técnica de descomposición (recuento de líneas de código y puntos de función)
  • Técnica empírica (Putnam y COCOMO).

P. ¿Qué es la línea de base?

A. La línea de base es una medida que define la integridad de una fase. Después de que todas las actividades asociadas con una fase en particular se llevan a cabo, la fase se completa y actúa como una línea de base para la siguiente fase.

P. ¿Qué es la gestión de configuración de software?

R. La gestión de la configuración del software es un proceso de seguimiento y control de los cambios en el software en términos de requisitos, diseño, funciones y desarrollo del producto.

P. ¿Qué es el control de cambios?

R. El control de cambios es función de la gestión de la configuración, lo que garantiza que todos los cambios realizados en el sistema de software sean coherentes y se realicen de acuerdo con las normas y reglamentos de la organización.

P. ¿Cómo se puede medir la ejecución del proyecto?

R. Podemos medir la ejecución del proyecto mediante el Monitoreo de actividad, Informes de estado y Listas de verificación de hitos.

P. Mencione algunas herramientas de gestión de proyectos.

A. Hay varias herramientas de gestión de proyectos utilizadas según los requisitos de las políticas de organización y proyecto de software. Incluyen diagrama de Gantt, gráfico PERT, histograma de recursos, análisis de ruta crítica, informes de estado, listas de verificación de hitos, etc.

P. ¿Cuáles son los requisitos de software?

A. Los requisitos de software son una descripción funcional del sistema de software propuesto. Se supone que los requisitos son la descripción del sistema de destino, sus funcionalidades y características. Los requisitos transmiten las expectativas de los usuarios del sistema.

P. ¿Qué es el estudio de viabilidad?

R. Es una medida para evaluar cuán práctico y beneficioso será el desarrollo del proyecto de software para una organización. El analizador de software realiza un estudio exhaustivo para comprender la viabilidad económica, técnica y operativa del proyecto.

  • Económico : transporte de recursos, costo de capacitación, costo de utilidades y herramientas adicionales y estimación general de costos y beneficios del proyecto.
  • Técnico : ¿es posible desarrollar este sistema? Evaluar la idoneidad de la (s) máquina (s) y sistema (s) operativo (s) en que se ejecutará el software, los conocimientos y habilidades de los desarrolladores existentes, capacitación, utilidades o herramientas para el proyecto.
  • Operativo : ¿puede la organización adaptarse sin problemas a los cambios realizados según la demanda del proyecto? ¿Vale la pena resolver el problema?

P. ¿Cómo se pueden reunir los requisitos?

R. Los usuarios pueden reunir los requisitos a través de entrevistas, encuestas, análisis de tareas, lluvia de ideas, análisis de dominios, creación de prototipos, estudio de versiones de software utilizables existentes y mediante observación.

P. ¿Qué es SRS?

R. La especificación de requisitos de software o SRS es un documento producido en el momento del proceso de recopilación de requisitos. También se puede ver como un proceso para refinar los requisitos y documentarlos.

P. ¿Cuál es la diferencia entre diseño orientado a funciones y diseño orientado a objetos?

A. El diseño orientado a funciones se compone de muchos subsistemas más pequeños conocidos como funciones. Cada función es capaz de realizar tareas importantes en el sistema. El diseño orientado a objetos funciona alrededor de los objetos del mundo real (entidades), sus clases (categorías) y métodos que operan en objetos (funciones).

P. Definir brevemente el modelo de diseño de arriba hacia abajo y de abajo hacia arriba.

A. El modelo descendente comienza con una vista generalizada del sistema y lo descompone en otros más específicos, mientras que el modelo ascendente comienza con los componentes más específicos y básicos primero y sigue componiendo los componentes para obtener un mayor nivel de abstracción.

P. ¿Cuál es la base de la medida de complejidad de Halstead?

La medida de complejidad de A. Halstead depende de la implementación real del programa y considera los tokens utilizados en el programa como base de la medida.

P. ¿Menciona la fórmula para calcular la complejidad ciclomática de un programa?

A. La complejidad ciclomática utiliza la fórmula de la teoría de grafos: V (G) = e – n + 2

P. ¿Qué es la programación funcional?

A. La programación funcional es un estilo de lenguaje de programación, que utiliza los conceptos de función matemática. Proporciona medios de cálculo como funciones matemáticas, lo que produce resultados independientemente del estado del programa.

P. ¿Diferenciar la validación y la verificación?

A. La validación verifica si el producto se realiza según los requisitos del usuario, mientras que la verificación verifica si se siguen los pasos adecuados para desarrollar el producto.

La validación confirma el producto correcto y la verificación confirma si el producto está construido de manera correcta.

P. ¿Qué son las pruebas de caja negra y caja blanca?

A. La prueba de caja negra verifica si las salidas deseadas se producen cuando se dan valores de entrada válidos. No verifica la implementación real del programa.

La prueba de recuadro blanco no solo verifica la salida deseada y válida cuando se proporciona una entrada válida, sino que también verifica si el código se implementa correctamente.

P. ¿Cuáles son los requisitos funcionales?

A. Los requisitos funcionales son características funcionales y especificaciones esperadas por los usuarios del producto de software propuesto.

P. ¿Cuáles son los requisitos no funcionales?

A. Los requisitos no funcionales están implícitos y están relacionados con la seguridad, el rendimiento, la apariencia de la interfaz de usuario, la interoperabilidad, el costo, etc.

P. ¿Qué es la medida de software?

A. Las medidas de software pueden entenderse como un proceso de cuantificación y simbolización de varios atributos y aspectos del software.

P. ¿Qué es la métrica del software?

A. Las métricas de software proporcionan medidas para varios aspectos del proceso de software y el producto de software. Se dividen en –

  • Métrica de requisitos: requisitos de longitud, integridad
  • Métricas del producto: líneas de código, métricas orientadas a objetos, métricas de diseño y prueba
  • Métrica del proceso: evalúe y realice un seguimiento del presupuesto, el cronograma y el recurso humano.

P. ¿Qué es la modularización?

R. La modularización es una técnica para dividir un sistema de software en múltiples módulos discretos, que se espera que realicen tareas de forma independiente.

P. ¿Qué es la concurrencia y cómo se logra en el software?

A. La concurrencia es la tendencia de los eventos o acciones a suceder simultáneamente. En el software, cuando dos o más procesos se ejecutan simultáneamente, se denominan procesos concurrentes.

Ejemplo

Mientras inicia el comando de impresión y comienza la impresión, puede abrir una nueva aplicación.

La concurrencia se implementa dividiendo el software en múltiples unidades independientes de ejecución, a saber, procesos y subprocesos, y ejecutándolos en paralelo.

P. ¿Qué es la cohesión?

A. La cohesión es una medida que define el grado de intradependencia entre los elementos del módulo.

P. ¿Qué es el acoplamiento?

A. El acoplamiento es una medida que define el nivel de interdependencia entre los módulos de un programa.

P. ¿Menciona algunas herramientas de análisis y diseño de software?

R. Estos pueden ser: DFD (Diagramas de flujo de datos), Gráficos estructurados, Inglés estructurado, Diccionario de datos, Diagramas HIPO (Entrada jerárquica del proceso de salida), Diagramas ER (Relación de entidad) y tablas de decisión.

P. ¿Qué es el DFD de nivel 0?

R. El nivel más alto de abstracción DFD se conoce como Nivel 0 DFD, también llamado nivel DFD de contexto, que representa todo el sistema de información como un diagrama que oculta todos los detalles subyacentes.

P. ¿Cuál es la diferencia entre el inglés estructurado y el pseudocódigo?

R. El inglés estructurado es el idioma nativo del inglés que se usa para escribir la estructura de un módulo de programa usando palabras clave del lenguaje de programación, mientras que el Pseudocódigo está más cerca del lenguaje de programación y usa palabras u oraciones del idioma inglés nativo para escribir partes del código.

P. ¿Qué es el diccionario de datos?

A. El diccionario de datos se conoce como metadatos. Es decir, es un repositorio de datos sobre datos. El diccionario de datos se utiliza para organizar los nombres y sus referencias utilizados en el sistema, como objetos y archivos, junto con sus convenciones de nomenclatura.

P. ¿Qué es el diseño estructurado?

A. El diseño estructurado es una conceptualización del problema en varios elementos de solución bien organizados. Se trata del diseño de la solución y se basa en la estrategia de “divide y vencerás”.

Para más preguntas de la entrevista técnica para el ingeniero informático, visite:

Latest govt.jobs, Notificaciones de trabajos recientes para trabajos bancarios