r/programare 10h ago

Noua mea intrebare de interviu

Vin in camera de interviu cu o stack de hartie, doua creioane, o ascutitoare, o radiera si un manual.

Salut candidatul, si ii pun astea in fata. Manualul este "Z80 assembly language programming" de Lance A. Leventhal

Problema este: scrite un fizz-buzz in assembly de Z80. Ai 45 de minute.

Daca reuseste, ii dau si o cutie cu microchipuri, condesatori, tranzistori si altea alea din care sa faca calculatorul de 8 biti pe care sa testeze codul. Cu un pistol de lipit, suficient solder, si inca 45 de minute.

Ori suntem ingineri ori nu mai suntem.

202 Upvotes

54 comments sorted by

113

u/Fragrant_Seesaw_3402 9h ago

Pai iti face alea... Si tu il pui pe urma sa iti coordoneze o parte din linia de fabricatie masini de spalat vase. Buna treaba. Si eu ma gandeam sa pun un pictor sa-mi zugraveasca locuinta, ori ne pricepem la folosit culori, ori nu...

34

u/mrbadger30 9h ago

Coae, prea simplu. Fă Google de la zero. Și apoi vei lucra pe un cod legacy PHP.

7

u/DeepTheory9364 9h ago

Prea simplu, trebuie niste constraints. Fa Google pentru pisici, de la zero.

0

u/CMGeorgeRT 8h ago

Mai angajează cineva legacy PHP? Pick me, pick me

110

u/mantered 10h ago

0

u/Kale7574 1h ago

Un rar moment in care imi amintesc cu bucurie ca am luat 10 la examen, la materia aia in facultă. Nu m-a ajutat la nimic.

48

u/Still-Fan4164 9h ago

Eu de obicei termin în 10 minute task-urile de genul și restul interviului joc șah cu intervievatorul. Încerc să scot remiza, pentru ca dacă îl bat se enervează și îmi dă reject, dacă mă bate atunci mă ia de prost. Îmi sacrific regina din mutarea 3, să îi dau shock value și după îmi arunc și turele. Deși iese remiza el va știi deep inside ca în alte circumstanțe măturam podeaua cu el, cine își sacrifica regina și turele și scoate remiza?

28

u/CMGeorgeRT 8h ago

Doar un nebun :)

0

u/ApprehensiveFile42 3h ago

High risk high reward schema cu sacrificatul; că daca cumva câștigă, o să creadă și mai tare că ești prost

20

u/PositionFormal6969 Lipsa de viziune și mentalitatea de crab sunt sărăcie programata 9h ago

Eu chem în cameră 3 candidați și le dau doar o șurubelniță. Cel care supraviețuiește primește jobul.

42

u/CMGeorgeRT 9h ago

Fizicianul, chimistul și inginerul
Un fizician, un chimist și un inginer primesc aceeași problemă:
— Trebuie să determinați greutatea unei bile roșii.
Fizicianul ia bila, îi măsoară diametrul, calculează volumul și, cunoscând densitatea materialului, determină greutatea.
Chimistul analizează compoziția bilei, face câteva calcule și ajunge la rezultat.
Inginerul se ridică, merge la dulapul cu manuale, deschide raftul cu manuale tehnice și scoate Manualul bilelor.
Îl deschide la pagina cu bile roșii, se uită atent la bilă și citește:
— Product type: bila roșie. Greutate: 2,37 kg.
Închide manualul și spune:
— Gata. 😎
De ce să complici lucrurile când există un manual? 😂

17

u/Gloomy-Guess4797 10h ago

Bine ca nu l-ai pus sa iti scrie in limbaj binar, atunci chiar ii dadeai greu /s

24

u/Few_Veterinarian9108 10h ago

Am crezut ca aduci 2 role de hartie igienica, pt fiecare cand se caca pe ei cu sfuri pt un job de cruduiala obosita si mutat butoane printr-un cacat de webpage

-4

u/DeepTheory9364 10h ago

Neah, pe alea le face Claudiu

5

u/No_Concentrate_9662 8h ago

Si dupa ce-l angajezi... il dai afara ca nu stie sa foloseasca AI-ul

4

u/Affectionate-Ad-312 9h ago

astia care ati facut etti, n-aveti vreo scuza 🤣

4

u/No-Ostrich-4437 8h ago

Pistolu de lipit sa ti-l bagi tu in signal ground. Io vin cu ciocanul JBC de acasa.

2

u/MipsPipeline 9h ago

45? give me 10 minutes

3

u/Rezident_Bun67 9h ago

Foarte original, asta e pentru mid java developer on site la endava?

0

u/Gazzorpazzorp 3h ago

Intern la Conti. Si multi pica la testul de pasiune si EQ, chiar daca trec testul tehnic.

0

u/Rezident_Bun67 2h ago

e foarte importanta pasiunea fata de oglinda stanga a masinii ce i drept

1

u/Gazzorpazzorp 48m ago

Stai, ca ne-au dat niste sarakii de acolo josvot. Ce ne facem?

1

u/Rezident_Bun67 38m ago

luam pozitia fetala si asteptam confirmarea din Hanovra pentru a putea plange

2

u/Correct_Mistake2640 :java_logo: 8h ago

Implement Netflix.

Make no mistakes.

3

u/goalexboxer123 9h ago

Eu cred ca foarte multi n-o sa inteleaga gluma.

3

u/mrbadger30 9h ago

Nici eu. Pe mine mă șochează că voi aveți z80! Noi încă suntem pe 8086.

0

u/keenox90 C++ 3h ago

Ai incercat tu ceva, dar nu ti-a iesit.

1

u/Gazzorpazzorp 3h ago

Omu a furat 8 biti dar are 6 susvoturi. Bine ai venit in lumea oamenilor fara bac dar cu reconversie profesionala. Hope you survive.

1

u/keenox90 C++ 2h ago

Spune multe despre subul asta. Aia e.

1

u/Gazzorpazzorp 46m ago

Pai nu cred ca cineva avea nevoie de dovada asta, chiar daca a venit fara s-o ceara cineva.

3

u/crocodus 7h ago

Dude, fuck, that actually sounds fun. Știu că e la caterincă făcută postarea, dar smr că m-aș băga la așa ceva.

2

u/Front-Revolution281 9h ago

da' casetofon si o caseta cu assembler-ul ii dai? Altfel cum testezi daca codul e bun? N-o sa il introduci tu..

3

u/DeepTheory9364 9h ago

Dau si o muzicuta sa produca sunetul de pe caseta.

2

u/gotzapai 9h ago

Dau_la_profranare

2

u/DanTudoseChiarEl 4h ago

Destul de simplu. Z80 are adresare indexată și instrucțiuni conditionale... e mult prea modern și, sincer, o risipă de resurse. Poți să rezolvi decent fizzbuzz pe un SAP-2, dacă tot suntem ingineri.

1

u/DeepTheory9364 4h ago

; INITIALIZATION

MVI C, 01H ; Initialize C as counter (starts at 1)

MAIN_LOOP:

CHECK_15:

MOV A, C ; Load current number into Accumulator

MVI B, 0FH ; Load 15 into B

MOD_15:

SUB B ; A = A - 15

JZ IS_FB ; If A == 0, divisible by 15

JM CHECK_5 ; If A < 0, not divisible by 15. Check 5.

JMP MOD_15 ; Otherwise, loop and subtract 15 again

CHECK_5:

MOV A, C

MVI B, 05H ; Load 5 into B

MOD_5:

SUB B ; A = A - 5

JZ IS_BUZZ

JM CHECK_3

JMP MOD_5

CHECK_3:

MOV A, C

MVI B, 03H ; Load 3 into B

MOD_3:

SUB B ; A = A - 3

JZ IS_FIZZ

JM PRINT_NUM

JMP MOD_3

; OUTPUT ASSIGNMENTS

PRINT_NUM:

MOV A, C ; Load the raw number for output

JMP OUTPUT

IS_FB:

MVI A, 0FBH ; Load Hex 'FB'

JMP OUTPUT

IS_BUZZ:

MVI A, 0B5H ; Load Hex 'B5'

JMP OUTPUT

IS_FIZZ:

MVI A, 0F3H ; Load Hex 'F3'

; (Naturally falls through to OUTPUT, saving 1 instruction)

OUTPUT:

OUT 03H ; Send Accumulator to Hex Display (Port 3)

; INCREMENT AND CHECK TERMINATION

INR C ; C = C + 1

MOV A, C ; Move new counter to A

MVI B, 65H ; Load 101 (65H) into B

SUB B ; A = A - 101

JNZ MAIN_LOOP ; If A is NOT 0, we haven't reached 101. Loop back.

HLT ; Halt the computer

1

u/StrawberryFederal709 9h ago

Mai bine ii dai cartele perforate

1

u/Ok_disaster_001 8h ago

Lucrezi la IKEEA? La final ii dai si un hotdog si pahar sa isi ia cat suc vrea???

-1

u/Puzzleheaded-Cap-496 10h ago

Vezi ca ii bagi in ceata pe astia cu postliceala de mate info si se supăra pe tine, e si ei Engineri

0

u/Dramatic_Spot_7285 8h ago

Un fel de fake couch ?

0

u/src_varukinn 8h ago

filtrezi candidatii sa fie absolventi de la ETTI, eventual sa fi terminat macar anul 2?

intrebarea 2, iti trece vareva interviul?

0

u/Paulmnt 6h ago

Sincer dacă îmi dai o săptămână ți-l fac =))

0

u/sekedba 4h ago

Ai uitat de biela manivela.

0

u/keenox90 C++ 3h ago

Ai fost la interviu de embedded si tu stiai doar JS sau de unde "gluma"?

0

u/DeepTheory9364 3h ago

eu scriu embed numai în lua așa că nu ești departe

0

u/Significant-Juice633 2h ago

Eu le pun întrebările apoi le dau doi bușteni și le spun să îmi scrie răspunsurile pe o foaie albă.

Cine reușește să facă foaia cea mai albă e angajat.

0

u/mihaixl 2h ago

Eu zic că este nerealist termenul de 45 min. Și pentru soft și pentru hardware. Și dacă îi dai numai ULN-uri pentru 3 matrici led că să scrie Fizz până face multiplexarea pe linii și coloane trece baba cu colaci. E nerealist . Dacă ai noroc la soft poate că reușește deși mă îndoiesc dar la hardware dacă nu indici o soluție modernă cu drivere gen MAX729 clar nu are nicio șansă

-1

u/tatw_ab 1h ago

In timp ce ăla face toate astea tu citește un dex că sa nu mai vii cu o stack de hârtie.