Entrevistando para Javascript Senior Developer - Prueba Técnica

Поділитися
Вставка
  • Опубліковано 27 жов 2024

КОМЕНТАРІ • 64

  • @juanmanuelvargas6387
    @juanmanuelvargas6387 2 роки тому +27

    1. then async siempre retornan una promesa son asíncronos por eso se debe utilizar el log dentro
    2. Se llaman decoradores, todas las funciones son naturalmente closures excepto la sintaxis new Funtion que es otro tema, por ello acceden al entorno léxico exterior mediante la referencia de su método interno [[Enviorement]], por supuesto es mejor no subir el scope cuando se lo preguntas pero funcionaría sin problema, además utilizaría call/apply para vincular this si fuera probable que en un futuro se implementara, por cierto fue una excelente manera de crear memorización
    3. Existen las mates, Método de Gauss 1000 * 999 / 2 = 49500 mucho mas óptimo se va jugando con el límite.
    4. Utilizaría rest param …args o tal vez el simil-arr especial arguments junto a un new Map
    5. Por último, es genial este tipo de contenido, una entrevista Senior Js gracias por tomarte el tempo de planificarla, Keyberth una maquina me pareció que lo hizo estupendo, tal vez al principio siempre vencen los nervios

    • @keyberthrengel1087
      @keyberthrengel1087 2 роки тому +5

      Gracias bro, muchas veces se nos olvidan algunos conceptos o mejores formas de resolver un problema por los nervios

    • @FSH2
      @FSH2 2 роки тому

      Para el ejercicio de la sumatoria, ¿no tendría que ser 1000 + 1000 * 999 / 2? Debido que menciona Juan que el límite superior es incluyente.

    • @YusufSalahAdDin
      @YusufSalahAdDin Рік тому

      No entendí tu segundo comentario, podrías explicarlo un poco más? Muchas gracias.

  • @FrAnKLinStUaR
    @FrAnKLinStUaR 2 роки тому +6

    he trabajado bastante con js puro que no se me hacen difíciles estas pruebas. igualmente noté que necesito más práctica, hubo partes donde me demoré en dar la solución

  • @valentinbuttignol79
    @valentinbuttignol79 2 роки тому +4

    Excelente video Juan, me parece muy buen contenido para aquellas personas no tan allegadas a las entrevistas como yo (todavía sigo estudiando)... Muchas gracias a vos y a Keyberth por el video. Estaría bueno tener más ediciones!

  • @fabribarreto14
    @fabribarreto14 2 роки тому +10

    Senior y no parece tener muy claro lo que hace async, await, el retorno de promesas o que JS ahora permite usar await en plano, eso me sonó raro pero en cuanto a la optimización en el segundo ejercicio creo que aprendí bastante.

    • @luisdelorbe4385
      @luisdelorbe4385 2 роки тому

      Ya puedes usar Await no necesariamente dentro de una funcion asincrona ,Saludos

    • @nicooto9343
      @nicooto9343 2 роки тому +3

      Ser senior no implica saber eso. Es un detalle menor. Ser senior pasa por otro lado. A ver obviamente tenes que tener experiencia y mucha pero no tener TODO en claro lo que hace el async, await y etc no es importante.

    • @zNareak
      @zNareak 2 роки тому

      @@nicooto9343 x2

  • @Jimmy-nh1cd
    @Jimmy-nh1cd 2 роки тому +4

    La memorizacion esta super cool, otra forma seria:
    const sumNumber = (limit) => {
    return (limit * (limit + 1)) / 2;
    };

    • @josuezorrilla23
      @josuezorrilla23 Рік тому

      Y si el valores menor que dos?

    • @AlanLozanoSTR
      @AlanLozanoSTR Рік тому +1

      tambien hay un problema que al tener numeros grandes, JS tiende a redondear lo cual generaria errores y variaciones pequeñas, yo lo hubiera resuelto así usando bignumber
      const sumNumbers = memorization((limit) => {
      const n = new BigNumber(limit);
      const sum = n.times(n.plus(1)).dividedBy(2);
      return sum.toString();
      });

  • @IvoCabrera
    @IvoCabrera 11 місяців тому

    Muy bueno, gracias

  • @bendorgaming9430
    @bendorgaming9430 8 місяців тому +1

    La suma hasta el 1000 no es 499500

  • @Tinchoas19
    @Tinchoas19 Рік тому

    Sos un genio! Muchas gracias por hacer esto :)

  • @crisepuyao7722
    @crisepuyao7722 2 роки тому +7

    Siempre las empresas hacen la pregunta de las metodologías ágiles y ellos nunca las usan xD

    • @JuanOrtizDev
      @JuanOrtizDev  2 роки тому +1

      Jajajajaaj suele pasar bro!. Siempre la hacen y algunas ni organizado tienen el trabajo.
      Pero las que si, bien por ellas

    • @crisepuyao7722
      @crisepuyao7722 2 роки тому

      @@JuanOrtizDev así es jajajajajaaja, excelente vídeo, saqué mucha información valiosa del mismo. Un abrazo.

    • @mitchelnunez753
      @mitchelnunez753 2 роки тому

      @@crisepuyao7722 Como que no lo utilizan? no etniendo.

  • @fredomartinezm
    @fredomartinezm 2 роки тому +3

    Qué baja está la vara para seniors.
    La solución del ejercicio 2 era cambiar ese for loop por un n*(n+1)/2 pero se enredó con esa función para memorizar el resultado. Ese razonamiento no es de un senior

    • @AventureroMexa
      @AventureroMexa 2 роки тому

      intente como dices sum = (limit*(limit+1))/2. pero no sale igual, o de que forma seria?

    • @0800xisco
      @0800xisco 2 роки тому

      @@AventureroMexa es porque no hay que considerar el límite, sino el anterior. (limite-1)*(limite-1+1)/2) = (limite*(limite-1))/2

    • @Edmundo_Rivero
      @Edmundo_Rivero 2 роки тому +3

      Creo que lo que buscaba en el 2do ejercicio era advertir que sumNumbers es una funcion pura y por ende se puede optimizar su respuesta para no hacer el calculo si se llamada 2 veces con el mismo input.

  • @agustinzarate9435
    @agustinzarate9435 2 роки тому +1

    Excelente video, hasta sentí la incomodidad de una entrevista jaja. Por otra parte si hubo errores o malas formas de expresarse que son graves que las diga un senior.

  • @manuellemus8529
    @manuellemus8529 Рік тому

    en el primer ejercicio me sentí estafado, yo como trainee ya me a pasado varias veces un ejercicio similar, eso me hace dudar que sea una entrevista Senior

  • @argentinaenlacasa554
    @argentinaenlacasa554 2 роки тому +1

    Que buen video, podrias hacer uno para puesto de React JS Semi Senior?

  • @5goku
    @5goku 2 роки тому

    gran video, suscrito desde ya!!

  • @martincovarrubias7235
    @martincovarrubias7235 2 роки тому

    THANKS ALOT MA MAN IT WORKED FOR ME SURE TOOK A WHILE BUT ITS GREAT

  • @zerogew
    @zerogew 2 роки тому +1

    Ni el nivel de la entrevista en cuanto a la prueba tecnica ni el entrevistado estan al nivel de un senior, o al menos no lo parece.
    El primer ejercicio es unicamente hacer un fetch sin tener que hacer nada con los datos ni siquiera, el segundo ejercicio se puede resolver con 1 unica llamada y operacion [(1/2)(inicio + fin)(inicio - fin + 1)]

  • @felipecastro6961
    @felipecastro6961 Рік тому +2

    No me pareciera que la entrevista fuera para un senior, sino para junior, opinión personal!

  • @Jgamesl
    @Jgamesl 2 роки тому

    No lo he terminado perl gracias crack

  • @jhovha92
    @jhovha92 Рік тому

    Sólo vine a darme cuenta que me falta mucho para llegar a ser Sr. Developer

  • @yuliguaita2875
    @yuliguaita2875 2 роки тому +2

    Exelente

  • @jaimeirazabal
    @jaimeirazabal 2 роки тому

    arguments[n] sirve para argumentos n.... yo creo que no es de senior o mejor dicho, no estoy seguro, pero he visto de senior mas complejas. Creo que tu mismo hiciste una mas compleja de senior front

  • @pairtialfocus9293
    @pairtialfocus9293 Рік тому

    Qué buen video joder

  • @orlandocastaneda3169
    @orlandocastaneda3169 2 роки тому

    como odio el live coding en las entrevistas, nunca me fue bien en algun live coding a mi

  • @jeckefe
    @jeckefe 2 роки тому

    Await depende de la version de node,

  • @NaviExploradorUrbano
    @NaviExploradorUrbano 2 роки тому

    Me gustan esas pruebas. Lo que no me gusta que cuando te quieren contratar te quieren pagar como jr. Y que hagas el trabajo de un Sr.

    • @JuanOrtizDev
      @JuanOrtizDev  2 роки тому

      Eso es lo molesto de algunas empresas, por eso no debemos dejarnos que nos malpaguen

  • @johanfernandez5441
    @johanfernandez5441 2 роки тому

    Works well!! DANKEEE

  • @NormandoHall
    @NormandoHall 8 місяців тому

    Lo que no concuerda es el poco conocimiento de promises para aspirar a senior.

  • @franklinpereda3885
    @franklinpereda3885 Рік тому

    Se queda en Semi senior

  • @brotherhood531
    @brotherhood531 2 роки тому

    ya, pero quedo en el puesto o no?

    • @JuanOrtizDev
      @JuanOrtizDev  2 роки тому

      Era una simulacion matias, pero yo daria el si

  • @lerihannyzurita5039
    @lerihannyzurita5039 2 роки тому +2

    👍

  • @gabokings260388
    @gabokings260388 2 роки тому

    Muy buen video, personalmente el segundo ejercicio me pareció un nivel jr, ya que para un nivel senior se le aumente la dificultad con ejercicios más complejos para determinan que hace y cómo se comporta ante la frustración, cómo se comunica etc etc

  • @drexgamer6226
    @drexgamer6226 2 роки тому

    Que perra edición, quien la hace?

  • @angeluisalbertomayorgacarm911
    @angeluisalbertomayorgacarm911 2 роки тому +1

    Que nivel el de Keyberth! Todo un crack

  • @axelmrtz3514
    @axelmrtz3514 2 роки тому +2

    Keyberth te amo

  • @srpatata4172
    @srpatata4172 2 роки тому +1

    Fue una entrevista de verdad?

    • @JuanOrtizDev
      @JuanOrtizDev  2 роки тому

      No hermano, fue una simulación, las preguntas que el me hizo hacia el proyecto no eran reales

  • @marcosMartinez-wm7bd
    @marcosMartinez-wm7bd 2 роки тому

    Juan, agrandale un poco la pantalla :v

  • @srpatata4172
    @srpatata4172 2 роки тому +1

    Vaya yo sabi muy bien lo que hacía

  • @lucaapa
    @lucaapa 2 роки тому +7

    parece mas un junior xd

  • @miguelmondragon1366
    @miguelmondragon1366 3 місяці тому

    😂

  • @pablichi2978
    @pablichi2978 2 роки тому

    baja calidad de video pero interesantisimo!

  • @pinocodex
    @pinocodex Рік тому +1

    No quiero parecer odioso, pero ninguno de los dos ni son midlevels ni esto es una entrevista para seniors. Lo siento chicos pero nada que ver con la realidad. Quizas en vuestras empresas sean seniors pero en el mundo real, desde el ejercicio #1 ya lo hubieran pillado y hubieran perdido la entrevista "senior" incluso una para junior.
    Te demuestro porque son traanie los dos:
    Una de las cosas que mas duelen y sacrifican recursos y tiempo en un proyecto, es justamente mentalidades como la que expusieron ustedes dos en el ejercicio #2. El tipico caso del junior que vio un tema y a toda costa lo quiere encajar en algun sitio en el proyecto, sacrificando asi tiempo, dinero a corto plazo, pero aun peor a mediano plaza cuando ya haya logrado minar todo el proyecto con overengineering como estas.
    Memoization suena cool, si suena cool, que sirve para optimizar, si tambien, es la solucion para cualquier problema, NOOO. Y aqui tambien se expone la falta de analisis del entrevistador en donde le solicita crear algo mas generico (como que ya no fuera poco la sobre ingeneria que el otra a duras penas esta creando) y aun le piede mas! Esos pensamientos demuestran como esos dos sin supervicion llevarian a la quiebra un proyecto real. No pasa nada ser junior, sin junior no hubieran experimentados. No pasa nada en tus inicios petar un proyecto, incluso es cuando deberias lanzarte y aprender de tus errores, pero decir que soy senior y que mi forma de razonar diga lo contrario, creo que es querer correr antes de andar chicos.
    He aqui la prueba a su sobre ingeneria y la prueba que no optimiza ni papa eso, mas bien aumenta al 100% mas el problema:
    - al cachear los valores tenemos un incremento en el time space y eso solo para ese caso (Dios me libre para todo el runtime)
    - La solucion es tan sencilla e incluso ni siquiera necesito N pasos para sumar, y aqui como algo de analisis te salva de hacer un mockey code: Solucion const sum = n => ( n * ( n + 1 ) ) / 2; xD Este mismo principio de pensamiento es esencial para no crear sobre ingeneria.
    - El chico habla de datos del usuario, de desbordamiento, de optimizacion y el entrevistador perdido. Pero nada de eso es verdad, mas bien al contrario, es malo y no todo es perfecto, hay algoritmos que para unos casos son buenos, pero para otros muy malos, y no solo porque me aprendi en un tuto a escribir bubble sort, voy a darle cana a todo lo que se mueva con el.
    Recomendaciones: Leer mucho, participar en proyectos con gente de nivel (open source) y aprender de ellos.
    En una entrevista de seniors no se pone a ver cositas de si una funcion devuelve una promesa o como sumar n enteros, al contrario se supone que eso ya se debe saber y se tocan temas mas avanzados.
    Seguir asi chicos, la practica hace al maestro, y no os preocupeis, con el tiempo llega todo, seguro que en unos par de anios ya sereis seniors los dos, todo con calma.

    • @rockidol852
      @rockidol852 Рік тому +4

      Que odioso este hombre jajaja

  • @josephito27
    @josephito27 5 місяців тому

    un poquito flojo el fetch , yo soy apenas junior, pause el video y hice esto en casi un 1 min lol
    ``` const fnx = async () => {
    const URL = "http blah blah";
    try {
    const res = await fetch(URL);
    if (!res.ok) {
    throw new Error("ERROR FETCHING");
    }
    return await res.json();
    } catch (error) {
    console.log(error);
    }
    };
    fnx().then(res => console.log(res)) ```