Prepárate para una Prueba Técnica PHP
Tiempo de lectura: 2.79 minutos
Lo que encontrarás en este artículo
Como parte de un proceso de selección, generalmente nos encontramos con:
- Una primera entrevista general
- Una prueba técnica
- Una entrevista técnica
Esto es así porque el primer filtro te ahorrará mucho tiempo, tanto a ti como a la empresa que está contratando.
En una primera entrevista se valida que tus intereses estén alineados con los de la empresa.
Allí generalmente se discuten temas como el salario, el horario de trabajo (y qué tan flexibles son), la cultura de trabajo, etcétera.
Una vez que ambos están interesados en continuar, lo más probable es que te envíen una prueba técnica, para que resuelvas según tu disponibilidad.
- Usualmente la prueba técnica consta de 1 o 2 ejercicios sobre algoritmos.
- En otras ocasiones pueden encargarte resolver un proyecto pequeño.
En este artículo nos enfocamos en el primer caso.
Es decir, se te presentan ejercicios que debes resolver en un tiempo límite (generalmente entre 20 minutos y 1 hora).
Si te encuentras en el segundo escenario, te recomiendo hacer uso de patrones de diseño en tu solución.
Cómo prepararte
Para esto es muy importante:
- Reforzar tu lógica de programación resolviendo algoritmos
- Aprender o repasar sobre estructuras de datos
- Practicar usando el lenguaje para el cuál estás postulando
En este caso, vamos a revisar los métodos más comunes en PHP.
De tal manera que, los recuerdes con facilidad al momento de resolver los ejercicios de algoritmos.
Cómo ejecutar los ejemplos
Prueba estos métodos de manera local.
El método tradicional es crear un archivo .php
y abrirlo en el navegador.
Sin embargo, recuerda que también puedes ejecutar tales archivos desde la terminal:
php ejemplo.php
De esta manera:
Métodos más comunes en PHP
Para trabajar con Arrays (arreglos)
Crear un array y añadir elementos
$frutas = ['manzana', 'naranja'];
array_push($frutas, 'plátano'); // Añade al final
array_unshift($frutas, 'fresa'); // Añade al inicio
Filtrar elementos
$nros = [1, 2, 3, 4, 5];
$pares = array_filter($nros, fn($n) => $n % 2 === 0); // [2, 4]
Ordenar
sort($frutas); // Ordena en orden alfabético
Mapear
$dobles = array_map(fn($n) => $n * 2, $nros); // [2, 4, 6, 8, 10]
Verificar si un valor existe en un array
$frutas = ['manzana', 'naranja', 'plátano'];
$existeNaranja = in_array('naranja', $frutas); // true
Verificar si una clave existe en un array asociativo
$persona = ['nombre' => 'Juan', 'edad' => 27];
$existeClave = array_key_exists('edad', $persona); // true
Obtener una porción de un array
$colores = ['rojo', 'verde', 'azul', 'amarillo'];
$subArray = array_slice($colores, 1, 2); // ['verde', 'azul']
Dividir un array en porciones
$numeros = [1, 2, 3, 4, 5];
$porciones = array_chunk($numeros, 2); // [[1, 2], [3, 4], [5]]
Nota: como se observa, el último chunk
puede tener menos elementos.
Unir dos arrays
$array1 = ['a', 'b', 'c'];
$array2 = [1, 2, 3];
$combinado = array_merge($array1, $array2); // ['a', 'b', 'c', 1, 2, 3]
Restar a un array, otro array
$array1 = [1, 2, 3, 4];
$array2 = [3, 4, 5, 6];
$diferencia = array_diff($array1, $array2); // [1, 2]
$otraDiferencia = array_diff($array2, $array1); // [5, 6]
Como muestra el ejemplo, el orden importa, al usar diff
.
Obtener la intersección entre dos arrays
$array1 = [1, 2, 3, 4];
$array2 = [3, 4, 5, 6];
$interseccion = array_intersect($array1, $array2); // [3, 4]
Para trabajar con Strings (cadenas)
Convertir a mayúsculas y obtener longitud
$mensaje = "hola mundo";
$mensajeMayusculas = strtoupper($mensaje); // "HOLA MUNDO"
$longitud = strlen($mensaje); // 10
Convertir a minúsculas
$texto = "Hola Mundo";
$textoMinusculas = strtolower($texto); // "hola mundo"
Convertir la primera letra a mayúscula
$palabra = "un ejemplo";
$palabraCapitalizada = ucfirst($palabra); // "Un ejemplo"
Convertir la primera letra de cada palabra a mayúsculas
$frase = "esto es una prueba";
$fraseCapitalizada = ucwords($frase); // "Esto Es Una Prueba"
Reemplazar y buscar texto
$mensaje = "hola mundo";
$saludo = str_replace("mundo", "PHP", $mensaje); // "hola PHP"
$posicion = strpos($mensaje, "mundo"); // 5
Es importante resaltar que str_replace
devuelve una nueva cadena con el cambio, sin afectar a la original.
Por eso es que podemos buscar "mundo" en la variable $mensaje
. Y lo encontramos en la posición 5.
Extraer una subcadena
$cadena = "Hola Mundo";
$posicion = 5;
$cantCaracters = 3;
$subCadena = substr($cadena, $posicion, $cantCaracters); // "Mun"
Dividir y unir strings
$cadena = "manzana,naranja,plátano";
$frutasArray = explode(",", $cadena); // ['manzana', 'naranja', 'plátano']
$frutasString = implode(" - ", $frutasArray); // "manzana - naranja - plátano"
El primer argumento es el caracter delimitador, al momento de separar con explode
, o el que se usa al juntar con implode
.
Eliminar espacios en blanco al inicio y al final
$cadenaConEspacios = " Hola ";
$cadenaSinEspacios = trim($cadenaConEspacios); // "Hola"
Formatear una cadena con variables
$nombre = "Juan";
$edad = 27;
$saludo = sprintf("Hola, mi nombre es %s y tengo %d años.", $nombre, $edad);
// "Hola, mi nombre es Juan y tengo 27 años."
Formatear un número con separadores
$numero = 12345.6789;
$formatoNumero = number_format($numero, 2, '.', ','); // "12,345.68"
Tengamos en cuenta que indicar los caracteres separadores es opcional.
Es decir, incluso si los omitimos el resultado será el mismo (ya que esos son valores por defecto).
$numero = 12345.6789;
$formatoNumero = number_format($numero, 2); // "12,345.68"