Feda /dev/ - No Javascript allowed

Normas
spoiler
Personas non gratas
Memes feda dev




Kaledros

Que dice mi ex empresa que si no firmo (digitalmente, además, que no me deja añadir comentarios) el finiquito no me pueden ingresar el dinero. ¿A que todavía me toca ir a hablar con un abogado?

2 respuestas
Wei-Yu

el que tengo aquí colgado

15
Zh3RoX

#60367 No es un problema de idioma, es un problema de comprensión lectora, de incapacidad para redactar textos medianamente largos y de falta de habilidad para contextualizar situaciones y ordenar ideas.

Además, yo diría que es un problema generalizado de la sociedad.

#60391 A mi tampoco me ingresan nada hasta que no firme finiquito, y no lo voy a firmar hasta que me lo diga mi abogado. Ni eso ni la carta de despido.

GaN2

#60379 es tu obligación moral como miembro del gremio abofetear en ese momento a la persona que te está diciendo eso. No te esperas a terminar la reunion, o coincidir fuera de la oficina o cuando te marches de la empresa. Das un par de pasos atrás para coger carrerilla, echas la mano hacia atrás y del bofetón que le metes lo mandas a ver a sus ancestros para que lo eduquen en SQL y las opciones de auditoría que tiene cualquier base de datos del mercado.

Y si luego dice lo mismo tienes permiso para pegarle con una pala en la cabeza y deshacerte del cuerpo

1 1 respuesta
privet

Prefiero el arco que insulta
😒😒

2
Seyriuu

#60391 Básicamente puedes no firmarlo y te lo tienen que dar igual, también puedes reclamarles por burofax que te paguen el finiquito y darles tú los cálculos de lo que te deben.

Si se niegan, pues sí, te tocará tirar de abogado, pero lo tienen perdido porque legalmente tienen que darte el finiquito les guste o no xD.

Dr_Manhattan

#60394 como os gusta a los americanos la violencia, me extraña que hables de palas y no de M29, aunque supongo que no podrás hablar mucho más de ello por temas de confidencialidad

Dr_Manhattan
1
desu

Entrevista para junior, dime todo lo que esta mal en este pseudo-codigo:

def update_items(request, new_value):
  let old_items = find_items(request)
  for old_item in old_items:
    if old_item == request.condition:
      update_item(old_item, new_value)
  return 200

Solucion: todo, el peor codigo que puede escribir un programador.

2 respuestas
pantocreitor

#60399 te diría que más para un junior para alguien con un poco más de experiencia.
Para un junior igual le parecen los pasos lógicos aún siendo innecesariamente largo y complejo.

2 respuestas
HeXaN

Entonces esto era mentira.

2
Mewtwo

#60400 tengo que preguntar ¿por que te parece largo y complejo ?

desu

#60400 bueno, de este hilo ya se que nadie es capaz de resolverlo correctamente salvo yo, por eso digo juniors.

PiradoIV

La respuesta corta es que usa Python, en lugar de un lenguaje de verdad, como Xojo.

6
denimH

La verdad es que ese código se entiende bastante bien.
Mejor hacerlo The Pythonic Way™

from functools import partial

def update_items(request, new_value):
  items = [item for item in find_items(request) if item == request.condition]
  _update_item = partial(update_item, new_value=new_value)
  map(_update_item, items)
  return 200
1 2 respuestas
Wei-Yu

#60405 código de principale enyiner

desu

#60405 igual de mal

el if dentro del for jode el branch prediction
en lugar de hacerlo en el servicio, seguramente podrias filtrar en DB
luego el update es de item por item, en lugar de batching, las operaciones deben ser siempre batching por defecto

por ejemplo:

def update_items(request, new_value):
  let old_items = find_items_with_condition(request, request.condition)
  let updated_items = new Items[old_items.size]
  for i in old_items.size:
      update_item[i] = update_item()
  let updated_items_call = update_items(updated_items)
  return updated_items_call == success
  • tienes solo 2 calls a DB, find_items y update_items vs 2items + 2items
  • no tienes logica rara y todo es lineal en tu servicio asique va rapido brrr
  • podrias hacer streaming, paralelizar los iteradores
  • el uso de network y bandwith es mejor y mas eficiente
  • si tienes una GC es mas eficiente

si este metodo te tardaba 100ms, ahora te tardara 20ms, si lo optimizas te tardara <10ms.

es un ejemplo.

def process_item(item: Item)

vs

def process_items(items: []Item)

nse, me parecen preguntas para junior, xq ninguno del hilo las pasa. he puesto este ejemplo en el hilo ya 4 o 5 veces jaja

3 1 respuesta
denimH

#60407 que es eso de let que no me suena

3 respuestas
Fyn4r

#60408 yo creo que ha mezclao 3 lenguajes

1 1 respuesta
Runig666

A mi me gusta que el 90% de los arreglos que hay es porque asume el resto del código

1 respuesta
desu

#60408 #60409 he puesto arriba pseudo-codigo.

#60399desu:

dime todo lo que esta mal en este pseudo-codigo

let asignar una variable a una expresión, let name = expression.

es el naming habitual.

#60410 bueno en eso consiste la entrevista, en hacer asumciones y modificar las cosas para que sean lo mejor posible dentro de las constraints.

2 respuestas
Dr_Manhattan

#60408 let no existe en python, así que es una mezcla de javascript y python xd let es mutable, pero tiene ámbito de bloque

Fyn4r

#60411 si se entiende, pero si le quitas los let y el new ese te queda código python ejecutable xd

desu

no ha sido queriendo que sea python

la let expression es terminologia habitual en matematicas, logica, programacion y definir lenguajes.

fijaros que uso let nombre = expression. en cambio en el bucle for no uso el let para dejar claro que modifico:

update_item[i] = update_item()

Runig666

#60411

  • Tengo que asumir que la condición se puede filtrar en BD?
  • Tengo que asumir que tan siquiera hay una BD?
  • Tengo que asumir que update_item no tiene ningún sistema para ir almacenando las actualizaciones y hacerlas al final?
  • Tengo que asumir que solo debo devolver un 200 y no los objectos ya guardados?
  • En tu solución tengo que asumir que update_item solo cambia los valores pero no los guarda, y update_items, no cambia valores pero si guarda

Porque puestos a asumir lo primero que pregunto es porque tengo la request entera dentro de un servicio

2 respuestas
desu

#60415

  • si la condicion no se puede filtrar en BD, como lo resolverias?
  • asume que hay BD pero que no se puede filtrar.
  • si update_item tiene buffer o no, respecto al networking es indiferente, de hecho tener un buffer e ir almacenando añade problemas de sistema distribuido y consistencia eventual, porque deberias bloquear la llamada en el caller para saber si todo sea flusheado correctamente. si quieres puedes asumirlo, pero el problema sera mas dificil. si no bloqueas, no puedes devolver un 200, xq no sabes si se ha guardado o no el buffer en DB.
  • considera update_items escribe en disco y hace flush y te llega el success si solo si ha sido todo correcto
  • la request contiene la informacion necesaria para ese endpoint, es un nombre generico, contiene lo justo y necesario para que todo funcione y hagas update de una entidad. si quieres puedes modificarlo.
Fyn4r

#60415 Por asumir puedes hasta asumir que el PC no esté enchufao a la corriente

1 respuesta
Runig666

#60417 Y sería casi mejor la entrevista que un codigo de 5 lineas del que no se contexto

1 respuesta
desu

#60418 arriba te he respondido, resuelvemelo. o tienes mas dudas? preguntame y te las respondo todas, quiero ver tu respuesta.

1 respuesta
Runig666

#60419 El entrevistador eres tu. Si yo tengo todas esas dudas de un codigo de 5 lineas, el error es tuyo, no mio. Más que nada porque si las tengo yo, las tendrá el siguiente, y el siguiente, y el siguiente...y no estoy para resolverle las dudas a todos y cada uno de ellos.

1 respuesta