Entrevista técnica Jr de Python
HTML-код
- Опубликовано: 6 сен 2024
- En este video vamos a ver como resolver ejercicios que van a dejar al entrevistador super feliz de conocerte :D
Video de 1lugarparapensar: • ENTREVISTA TÉCNICA PYT...
Repo con las soluciones: github.com/cod...
Cafecitos internacionales por Paypal! paypal.me/ericrish
Todas mis redes :)
linktr.ee/codineric
"No utilice la lógica sino la habilidad blanda de saber explicar lo que estoy haciendo" super clave 👍🏻 lo que dijiste. Muchas gracias 🤓💜
En mi época se le daba re poca importancia a eso cuando enseñaban 🥲
@@CodinEric hoy se come eric🤑🤑🤑🤑🤑🤑
Ufff yo se que esto sera de gran ayuda para mi, este año mi proposito es conseguir un empleo de desarrollador junior en python
Ey como vas igualmente, tienes Instagram talvez podamos aprender los dos también estoy iniciando 🤔👋
@@zwwx2142 como vas tu? Ya se pusieron en marcha?
@@david0411 yo tambien estoy en las mismas, si hacen un grupo dejenme unirme🙏🙏
Bro, y al final lo lograste ??
sigo el hilo
Muy buen video me tranquiliza un toque saber más acerca de las entrevistas técnicas.
Me encantaría un video explicando tareas típicas de un programador backend de python en cualquier rama pero mejor si es en desarrollo web xd xd . Igual alto video
como te ha ido? conseguiste trabajo de programador?
👍 Me gustó que hicieras énfasis en el tema de preguntar y tener estilo al momento de documentar la función y además contemplar las salidas por excepción. Yo vi ese ejercicio y lo primero que me vino a la mente fue: "y si son iguales?". Uno tiende a asumir lo que el cliente/usuario pide y ahí es donde muchas veces mete la gamba, a menos que el tipo diga "sorpréndeme".
Es clave a la hora tanto de hacer entrevistas como de resolver problemas como JR. Cuando vas ganando experiencia te das cuenta que el cliente no sabe lo que quiere y tenes que venderle la mejor solución 😅
La excepcion no es necesaria, la puso de mas, es mas podria reporbar por eso, a la funcion se le pide claramente el valor mayor de los 2 y si los 2 son iguales pues ese es el mayor valor y si no me crees prueba la funcion oficial de python max, por ejemplo max(3,3) y te devolvera 3 y no una excepcion.
Buen ejemplo de ejercios para entrevistas. Son detalles a los que prestar atención con toda la tensión del momento del la prueba técnica. Igual me parece que en las pruebas tienen en cuenta ejercicios un poco mas complicados.
Vi este video y el del otro canal. Por una cuestión de análisis, me gustó más tu explicación, sobre todo la inclusión de tips de programación y del ámbito laboral.
Muchas gracias!
Gracias por tu mensaje ❤️
Si bien traté de aportar más puntos al vídeo original, creo que lo que hizo Tatiana está muy bueno para gente jr 😊
Muy buen video! Lo de los comentarios está espectacular
Lo único que la función máximo de 3 no va a funcionar así usando la custom_max, por el tema de la excepción, habría que manejarla de alguna forma, lo intenté y se me complicó, hay que ver cómo se podría hacer, porque esto daría un error siendo que hay un máximo: max_de_tres(1, 1, 3), al ser los dos primeros números iguales.
Para resolverlo, y que también haya una excepción si el máximo no es único, lo hice de esta manera:
def max_de_tres(n1:int, n2:int, n3:int) -> int:
nums = [n2, n3]
# Por defecto considero al inicio n1 como el máximo
maximo = n1
multiplicidad = 1
for n in nums:
if n > maximo:
maximo = n
multiplicidad = 1
elif n == maximo:
multiplicidad += 1
# Verifico si el máximo está repetido
if multiplicidad > 1:
raise ('Error: El valor máximo se repite al menos una vez')
return maximo
Y porque quieres utilizar excepcion? El youtuber claramente se confundio y quizo parecer listo, pero realmente la rego, es mas yo lo reprobaria en ese examen, pues claramente la funcion max debe devolver el valor mayor de los 2 y si los 2 son iguales pues el valor es valido. Prueba la funcion oficial de python en max(3,3) y veras que devuelve 3 y no una excepcion.
Ademas si intentas correr la funcion custom_max en un algoritmo como el ordenamiento de burbuja, veras que truena cuando compare 2 valores iguales, algo que no es deseable.
Yo resolvi la funcion en una sola linea.
max3=lambda a,b,c: c if c>(a if a>b else b) else (a if a>b else b)
muchas gracias por el video, de tantos lenguajes me decidi por python.
Hola. Estoy estudiando y me resulta altamente importante la dinámica de afrontar estos ejercicios en una entrevista. Voy a estar atenta a futuros videos. Gracias
Pense en una solucion para la prueba y en la primera la verdad no tuve en cuenta si ambas eran iguales (aunque lo pensé pero no le di importancia) y la segunda si pensé en lo que explicaste de a > b > c y en la anterior función pero no exactamente como lo iba a usar
Muy bien :D
Videos en cantidad y calidad 👏🏼
Me vienen re bien estos últimos videos porque estoy en transición de laburo. Gracias
Lo de calidad no se si tanto jajaja
Me alegro que te sirvan 🥰
Hola, soy seguidor tuyo de hace rato. Casualmente, vi nuevamente este video porque me apareció el video al cual reaccionaste.
Coincido en casi todo lo que decís. Cosas que ayudarían a un junior en una entrevista serían además, typar la respuesta de la función.
Si lo haces para las variables de entrada, ¿por qué no indicar que devuelve la función?:
def custom_max(n1: int, n2:int) -> int:
Si suponemos que hay que largar una excepción, si n1 y n2 son iguales, lo mejor sería hacerlo al principio.
Es decir, que sea la primera comparación. Concepto de cláusula de guarda.
En este caso el elif no sería necesario.
Tampoco sería necesario (ni tampoco un else) si no hubiera que considerar el caso de números iguales.
Se extrañan tus videos. Saludos
Verdad, muy correcto lo que decis :)
No ando tan mal con los vídeos, creo. Este finde trato de sacar uno 🫣
@@CodinEric Siempre queremos más jaja!!!
Excelente video para quienes estamos proximos a lanzarnos a la selva como junior. Saludos desde Perú.
Muchas gracias por estos videos, me encantaría ver mas, para una persona como yo que soy autodidacta y he aprendido a base de cursos y proyectos propios , y que ademas el síndrome del impostor es fuerte en mi son de grandísima ayuda para coger confianza!!!! GRACIAS
Para el caso de un input a, b y c tq a==b y a
Eso puede ser lo esperado, al devolver C estás ignorando la condición a=b que anteriormente dijimos que era un imposible :)
Muy buen video. Estaría bien verte resolver otros ejercicios de Python.
muy buena onda, super claro, rompiste mi miedo a encarar entrevistas!!!
Hola me gusta este tema … ya te paso un problemita que tengo pendiente .. integrando numeros negativos y encontrando varios picos max, en un list. Gracias se te entiende todo perfectamente y sencillo. 👍🏼
Suena a tipico ejercicio de análisis matemático jajaja
Lo voy a tener en cuenta ❤
Esta es la función más básica que se puede hacer, y en solo 3 líneas
def maxNum(n1,n2):
if n1 > n2: return n1
else: return n2
y que pasa si ambos son iguales?
@@rubenb7859 te lanza el primero el cual será el mismo
@@andreslugo9947 es verdad, aunque.... te falta el print() por lo cual serian 4 lineas
@@rubenb7859 no lo creo, eso es solo la función. No es la llamada al módulo sino el módulo
def custom_max(n1:int, n2:int):
n = n1 if n1 > n2 else n2
return n
muy bueno este contenido! segui asi que esta muy bueno el canal, sos crackk!!
Se vienen muchos videos 🥰
La verdad que explica muy bien, y va a lo concreto: no se anda con rodeos
Un datito de color que es buena práctica, los "else" no son siempre necesarios, la mayoría de veces se puede esquivar. Por ejemplo, en el primer ejercicio:
if n2 > n1:
return n2
return n1
Analizando línea por linea, si n2 es mayor a n1 -> retorna n2. Si no es mayor, retorna n1. En este caso, escribir la instrucción "else" es redundante.
Por lo demás, fantástico video!
Mucha gente no entendió que lo que estaba tratando de demostrar era el caso donde por requerimiento del negocio n1, n2, n3, etc no pueden ser iguales 🤔
@@CodinEric Sí! No estoy criticando tu código, seguramente me expresé mal. Yo me refería a la primera parte del primer ejercicio, antes de que introdujeras el n3. Ese tipo de cosas se pueden extrapolar a infinitos otros escenarios y para lxs que estén viendo este video que sean principiantes, está bueno saber sobre las posibles redundancias que su código vaya a tener eventualmente. No digo que vos no lo sepas, entiendo que quisiste escribir un código simple y facil de entender
Con este video tan piola, me acabo de suscribir. Espero que el resto del contenido sea tan interesante. Slds.
Muy bueno el vídeo. Estoy empezando con Python y en ese sentido también resolví los ejercicios pensando como un usuario normal puede usar el programa. Voy a practicar tus soluciones que son muy buenas.
Genial! Te va a re servir 😁
simpático video, ahora hacete uno de data engineer o mejor uno de data scientist.
excelente video man! te da un boost de confianza trasnformando una experiencia q podria sentirse hostil en algo ameno
Gracias por el video, estaré atento a los próximos videos resolviendo mas ejercicios de este tipo.💯💯
Muy bueno! Más videos con ejercicios de entrevistas!
Se vendra una parte 2 😏
MUCHAS GRACIAS SI PUEDES RESOLVER MAS EJERCICIOS ESTA GENIAL
El nombre de una función debe ser lo suficientemente claro para no ser necesaria una documentación. Un método que se llama max_de_tres_numeros() está claro que hace, devuelve el máximo de tres números.
Lo bueno de python es que el codigo habla por sí solo. Documentar/comentar funciones debe ser algo excepcional y específico.
Os recomiendo leer clean code, tiene muy buenos tips.
Un saludo!
Clean code quedó viejito. Yo sigo las reglas de python y las guías de Google
Mi punto es que veo varias soluciones pero en teoría todas se adaptan de igual manera para darle solución al problema, cual usar es la cuestión.
❤❤❤ mcuhas gracias, por impulsarnls a los que estamos siendo aprendiendo.
Me gusto mucho tu explicación, podrias hacer mas videos?
🎉🎉🎉
Seguire al pendiente de tu canal💘
Atenti que el próximo video te va a gustar mucho muy 🫣
Muy bueno como lo explicas! Datos que sirven un montón para prepararse para una entrevista. Podrías hacer ejercicios tipo dónde sepas que puedan evaluar eficiencia también?
El clásico es fibonacci, podria hacer algo
Ya tienes trabajo?
Muy buenos ambos videos, el tuyo y el de Tatiana! Gracias!
El último se puede resolver metiendo los valores en un array y revorrerlo, y que quede el max
Max=0
If lista[i]>max, max=lista[i]
cooopadísimo, espero más videos así, además explicás muy bien. Muchas gracias crack
Muy bueno el video, Esos ejercicios lo he hecho pero en C# Y Visual basic y son bien faciles de hacer!
Muy buen video ! Me queda una duda con respecto al segundo ejercicio; la función de comparar dos números no devuelve ningun valor cuando estos dos son iguales, entonces, que pasa cuando te pasan los dos primeros valores iguales en los parámetros de la función que compara los tres números? No te saltaría el raise exception ?
Un float también es un número. Y podes definir el return type en la declaración de la función
Si señor
ejercicio 2:
def max_de_tres(n1: int,n2: int,n3: int):
if not n1 == n2 == n3:
return max([n1, n2, n3])
else:
raise Exception(f"[+] Los valores no pueden ser iguales. {n1}={n2}={n3}")
creo que para la solución de custom_max se podría usar una clausula de guarda en el caso que ambos números sean iguales, en el return usar un IF ternario y serian 3 líneas de código
por ejemplo: return n1 if n1 > n2 else n2
es un gran debate en programación el tema de "reducir lo mas posible"
A mi me gusta que sea mas "largo" pero fácil de leer, muchas veces si no estas acostumbrado a la notación se puede volver super ilegible y considerando que siempre se trabaja en equipos yo prefiero que se entienda a que sea super compacto.
Mejor así
def custom_max(*numbers: int) -> int:
"""Retorna el máximo de una lista de números.
Args:
*numbers (int): Lista variable de números para comparar.
Returns:
int: El número mayor de la lista.
Raises:
Exception: Si la lista de números está vacía.
"""
if not numbers:
raise Exception("La lista de números está vacía")
max_number = numbers[0]
for number in numbers[1:]:
if number > max_number:
max_number = number
return max_number
Muy buen Video! gracias!!! Buenos tips!
reyyy!
Estoy aprendiendo Python porque estoy aspirando a entrar en la programación
Excelente mi pana muchas gracias ya los estoy revisando para darle con todo!!
def max_de_tres(a:int,b:int,c:int)->int:
if a > b:
return a if a > c else c
else:
return b if b > c else c
sos un crack, colocaste mas videos como este?
¡¡Va el merecido ME GUSTA y suscripto!!!
Muchas gracias por tan buen video!
Quisiera hacerte una consulta:
Para el segundo caso, en el que tenes que crear una función que tome 3 números e imprima el mayor. Supongamos que dicho ejercicio es el primero que nos toman: ¿Estaría bien plantearlo así?
def max_of_three(n1, n2, n3):
if n1 > n2 and n1 > n3:
return n1
elif n2 > n1 and n2 > n3:
return n2
elif n3 > n1 and n3 > n2 :
return n3
else:
raise Exception("Los valores no deben ser iguales")
# Pd: No incluí los Docstrings, porque me ineteresaba saber si estaba bien aplicada la "lógica". Desde ya muchas gracias!
La logica es correcta pero yo aca te preguntaria como harias para hacerlo de 4 o de n. Lo interesante de este ejercicio no es que puedas hacerlo para 2 o 3 sino que entiendas que se puede escalar hasta infinito :)
@@CodinEric Te entiendo perfectamente, muchas gracias por la respuesta!
Gracias me gusto como lo planteaste
Muy bueno, si puedes hacer más 😊
Buenísimo erick por favor haz más ejercicios
Lo que usted diga señor Dan
@@CodinEric gracias viejito
Siiii, resuelve más así, gran video
hace más videoss hermano muy bueno!
Sería bueno comentar en algún instante, sobre el tema de los IDE's y los editores. Dar alguna recomendación. Nuevamente gracias.
Algo como ruclips.net/video/3is5nNBlhp8/видео.html
2 videos por fin de semana? compro!
Andaba super inspirado el pibe
Más ejercicios por favor, muy buen vídeo
Gracias 🥰
Se vienen más
excelente!, me diste una mano barbara!
si n1 y n2 son iguales, y n3 era el mayor, el primer custom_max levanta error y no llega a evaluar n3.
Gracias Eric
Mi versión, por si alguien quiere ver otra alternativa:
def alter_max(num1: int, num2: int):
"""
The alter_max function takes two numbers as input and returns the larger of the two.
If they are equal, it raises a ValueError exception.
Args:
num1: Compare the first number entered
num2: Compare the num2 parameter to the num2 parameter
Returns:
int: The larger of the two numbers
"""
if num1 == num2:
raise ValueError('The numbers should not be the same')
elif isinstance(num1, str) or isinstance(num2, str):
raise ValueError('Only numbers can be entered')
elif num1 > num2:
return num1
return num2
print(alter_max(10, 100))
Hace 10 años curse 3 años de ingeniería en informática, abandone y termine trabajando de otras cosas que nada que ver. En ese momento pensaba que tenia que saber mucho más de lo que sabia para trabajar como programador pero parece que estaba tremendamente equivocado. Hace poco decidí retomar aunque ahora por mi cuenta y ver este tipo de cosas tan sencillas me genera bastante culpa ya que lo que me imaginaba como mínimo para un junior o trainee serían ejercicios mucho más complejos con objetos, herencia, polimorfismos etc. En fin, apuntare a entrevistas laborales pronto y espero que den este tipo de cosas jaja.
Depende muchisimo de la empresa y el lenguaje, en java seguramente te molesten con eso, en Python depende de como se maneje la empresa, pero si, este es un ejercicio tipico. Por otro lado no te quiero asustar pero herencia y polimorfismo son conceptos básicos que por suerte tengo una serie sobre Programación Orientada a Objetos que podes seguir :)
Excelente, es de mucha ayuda!
Django se ve muy afectado vs Angular y React al momento de usar Python para la web?
muy bueno el viedo. Pero dijiste que n3 es mayor que ambos o menor que ambos, y no es correcto, solo sabes que es mayor que ambos (que es lo que buscabas) o menor que el mayor de los otros dos, pero con esta comprobación puede darse el caso que n3 este entre n2 y n1.
En el ejemplo se compara n1 contra n2 y el resultado contra n3
Buen video, tengo una pregunta, en estas entrevistas es válido usar funciones incorporadas como el reduce? aunque creo que no tendría mucho sentido, de todas formas quiero sacarme la duda.
Gracias de antemano, saludos desde Perú!!!
Depende de la pregunta pero generalmente lo que se evalúa es como pensas así que se busca tanto ver que tanto sabes sobre python pero también como llegas a un resultado
Muchas gracias, me encanto :)
Ustedes cómo estudian estás cosas? Yo ya se entender la mayoría creo pero mucho se me olvida, además de que aún no se cómo usar todo esto en conjunto para crear algo yo mismo, es normal o debería esforzarme más?
Llevo como una semana estudiando
El absorber nuevo conocimiento e interiorizarlo lleva tiempo. Lo importante es que sigas adelante y lentamente vas a ver cómo vas a poder usar las herramientas para resolver problemas :)
Como autocompletaste para tener el Docstring formateado o es un copy page que hiciste parando el video 😅 , Buen video :) ¡¡
es un plugin de vscode, se llama "autodocstring"
Como configuras el doc string? Muy bueno el video! Gracias por compartir!
Uso una extención de vscode :)
Por favor, resuelve más ejercicios 🔥🔥🔥
Se vendrá una parte 2 👀
@@CodinEric Sí rey, vo so unn crá!
estos ejercicios los podría resolver una persona que literalmente lleve una semana programando
Lo importante no es la complejidad del ejercicio sino la habilidad para poder comunicar como pensas :)
las entrevistas Junior con las que me he topado ni de cerca son así, me han hecho hacer un binary search tree, y hacer bottomup con fibonacci :')
Ojo eh! Puedo hacer un nuevo video hablando de esos problemas 😁
Ya tengo un video de fibonacci donde explico un poco como se resuelve y un poco lo que hay detras de ese ejercicio 😏
Muchas Gracias Genio!!!
a mí se me ocurrió esto para los 3 numeros:
>>> def max(n:int, n2:int, n3:int):
... if n > n2:
... return (n if n > n3 else n3)
... else:
... return (n2 if n2 > n3 else n3)
...
Está muy bien, es más pythonico :D
Como detalles deberías agregar docstrings y algún try except como para demostrár que sabes que existe
El último, sin la función mágica de custom_max(), lo resolví así (aun que no uso funciones, es medio inútil, siento):
num1 = int(input('introduce un número'))
num2 = int(input('introduce un número'))
num3 = int(input('introduce un número'))
x=' '
y = ' '
if num1>num2:
x=num1
else:
x=num2
if x>num3:
y = x
else:
y = num3
print(y)
Genial Eric muy bueno. Te consulto, cómo considerarías la opción de meter los 3 numeros en una lista y usar el max() para obtener el mayor valor, o usar un sort() para ordenar la lista y acceder al último valor con el index -1 sabiendo que este es el más alto? Fueron las primeras soluciones que se me vinieron a la cabeza y me gustaría saber cuán validas son en una entrevista. Recién estoy empezando con python. Gracias!
decirlo es correcto ya que le mostrar al entrevistador que sabes sobre python pero luego la charla se va a "ok pero mostrame como lo haces con lógica pura y sin usar atajos de Python" La última vez literal dije
"Esto se puede resolver con tal función de Python pero se que estas interesado en ver como lo hago con lógica pura asi que..."
@@CodinEric Excelente! Muchas gracias Eric
che pero esto es casi literalmente hacer 1 + 1 en comparación a lo que estoy viendo en la carrera de informática. Nosotros vemos algorimos de 4 horas con cientas de lineas para hacer en el momento(parcial), de hecho son hojas como 5
Lo importante de este video no es la complejidad de los algoritmos sino como le presentas una solución a tu entrevistador
@@CodinEric si, eso me sirvió de todas formas. Ojalá bajaran un poco la dificultad para enseñar más habilidades blandas.
Gracias!
Hola buenas, cómo puedo configurar los docstrings??
es un plug in de vscode 🙌
Excelente , seria de mucha ayuda seguir con mas ejercicios , yo revise los ejercicios de tatiana y veo que en ciertos videos utiliza POO, ¿como junior debo saber programación POO?
Si señor y tengo toda una serie sobre el tema 😁
Excelente aporte
gracias ❤️
Amigo pues usted no comprobó el funcionamiento, el programa se detiene y no calcula el mayor de tres cuando n1 y n2 son iguales, simplemente arroja la excepción y se detiene
Esa es exactamente una de las condiciones donde un entrevistador te puede "cagar"
Que n3 sea mayor no significa que n1=n2 sea una condición posible por lo tanto estarías ignorando un imposible impuesto por el negocio :D
No he logrado hacer funcionar el dos strin, alguien me pude ayudar, por favor
es una extensión de vscode, buscala como autoDocstring
Saludos
Como puedo copiar ese docstring?
sirve si uso operadores ternarios? return n1 if n1>n2 else n2 ?
P.S: en el de orden 3.. esta mal si hago un array donde guardo los 3 valores, y hago un sort(reverse=True) y devuelvo el arr[0] ?
mmmm y si en el último ejercicio tenes max_de_tres(2,2,3) ???? debería devolver 3, pero la excepcion al comparar 2 y 2.....
Si bien 3 es mayor a 2 yo defini que mi función no puede tomar 2 valores iguales.
Esto ya es pelea teórica pero por definición no permito que se ingresen 2 valores iguales ya que no se pueden evaluar bajo la premisa de que tiene que haber uno mayor y uno menor
Como se llama la cancion del minuto 0:31?
No estoy deacuerdo con la segunda solución porque si n1 = n2 y n3 es mayor a los dos entonces te va a dar exception en vez de dar el 3
y estarias incorrecto ya que previamente dije que como requerimiento no se podian enviar números iguales a la función custom_max :)
ericcccc VAMO A ENTRENAR A CHACA Wiiiiiiiiiiiiiiiiiiiiii
tipo crack, vengan esos ejercis
No me queda otra que hacer mas entonces ❤️
como se llama para usar los comentarios automaticos ?
doc string amigo
Una pregunta cuanto gana un Python Jr en latam y en no latam en promedio.. Y sabes de puesto de jr en python , porque yo solo encuentro senior
Ni idea 😅
En Europa el sueldo minimo es de mil y monedas al mes así que debe ser por ahí
omar algo anda mal
como se configura el docstring?
amigo me podrás ayudar con un ejercicio que tengo que hacer en Python?
Hola, que libro me recomiendas para empezar con python?
Por otro lado podrías explicar un poco más el tema del DOCString?? Gracias!!!!
Varias personas me lo pidieron, no me parece tan importante pero puedo hacer un video sobre el tema 🤔
@@CodinEric Como sale la opcion en python.
Bajas la extension "autoDocstring - Python Docstring Generator" en el mismo VSC 💪
@@lucianolemos4555 gracias!!
@@micky_stone de nada un placer =D
Por favor
Buen dato amigo
Que es forquiar!!??