Prueba Tecnica Dinahosting

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 3

Prueba técnica

Dpto. de desarrollo.
Responde con tus propias palabras

¿Cuál fue el primer lenguaje de programación que empleaste?

¿Cuál es tu principal lenguaje de programación actualmente?

¿Cuál es la diferencia entre un package.json y composer.json?

¿Qué es /(<script(\s|\S)*?<\/script>)|(<style(\s|\S)*?<\/style>)|(<!--(\s|\S)*?--
>)|(<\/?(\s|\S)*?>)/gi?

¿Para qué sirve la orden 'docker-compose up'?

¿Qué es el patrón MVC?

¿Indica algún Framework MVC y que aporta en el desarrollo de un proyecto?

¿Qué es un ORM?

¿Indica algún ORM y que aporta en el desarrollo de un proyecto?

¿Qué es la arquitectura hexagonal?

¿Para qué sirve la orden 'git stash'?

¿Indica que problemas identificas en el siguiente código?

public function indexAction(Application $app, Request $request)


{
if ($app->getConfig('maintenance') && !in_array($request->getClientIp(),
$app->getConfig('excludeIpsFromMaintenance'))) {
return $app['twig']->render('@MainLayouts/maintenance.html.twig',
['endDate'=> $app->getConfig('maintenanceEndDate')]);
}
try {

$databaseUser = $app->getDatabaseUser();
$user = new User($databaseUser);
if (!$databaseUser->getProfile()->isInitialized()) {
$preferences = $this->getApp()->getEm()->getRepository('\CS\Entity\
OcPreferences')->findOneBy(['userid' => $databaseUser->getUid(), 'configkey'
=>
'lang', 'appid' => 'core']);
if (null != $preferences) $form = $user->getInitForm($databaseUser-
>getProfile()->getDisplayname(), $preferences->getConfigvalue());
}
return $app['twig']->render('@MainLayouts/init.html.twig', [ 'form' =>
$form->createView() ]);

} catch (\Exception $e) {


throw $e;
}
}

Pruebas técnicas

1) Implementa en php empleando clases, herencia e interfaces atendiendo a los


principios SOLID una solución que proporcione aquellos números pertenecientes a una
sucesión de Fibonacci que:
- Se encuentre entre el timestamp del inicio y fin del mes actual
- Se encuentre entre el timestamp del inicio y fin del año actual
- Se encuentre entre el timestamp del inicio y fin entre dos fechas atendiendo al formato
"Y-m-d H:i:s"
El timezone a emplear para las fechas es el UTC. La solución ha de funcionar sobre CLI
Se ha de entregar el ejercicio en una carpeta llamada PHP.

2) Desarrollar un programa para gestionar usuarios de una base de datos MySQL. El programa deberá permitir
al administrador del sistema realizar operaciones como agregar nuevos usuarios, eliminar usuarios existentes,
y listar todos los usuarios registrados en la base de datos.

Detalles del ejercicio:

1. Agregar nuevo usuario: El programa debe solicitar al administrador que ingrese el nombre de usuario,
contraseña y privilegios para el nuevo usuario. Luego, deberá agregar este usuario a la base de datos
MySQL. Además de la clave, se debe solicitar el host y los privilegios que tendrá el usuario.

2. Eliminar usuario: El administrador debería poder eliminar un usuario existente de la base de datos.
Para esto, el programa debe listar todos los usuarios y permitir al administrador seleccionar uno para
eliminarlo.

3. Listar usuarios: El programa deberá mostrar una lista de todos los usuarios registrados en la base de
datos MySQL, incluyendo su nombre de usuario y sus privilegios.

Consideraciones adicionales:

• Asegúrate de manejar correctamente las excepciones y errores que puedan surgir durante la
ejecución del programa.
• Si lo deseas, puedes implementar autenticación para que solo el administrador pueda acceder al
programa.

También podría gustarte