Jak najlepiej rozpoznać doskonałego programistę podczas rozmowy kwalifikacyjnej?

82

W ramach wywiadu: jaki jest najlepszy sposób na wiarygodną identyfikację, gdy ktoś jest doskonałym programistą . Rozumiem przez to, że jest jednym z tych, którzy są 10-15 razy wydajniejsi / szybsi / lepsi niż jego rówieśnicy w kierunku dolnego końca spektrum.

Wielu z nas słyszało o problemie z FizzBuzz jako sposobem na wyeliminowanie słabszych. Z pewnością poświęcenie 5–10 minut na rozwiązanie tego problemu jest poważnym wskaźnikiem tego, że kandydat jest słabym kandydatem. Uważam, że dobry wskaźnik jest w stanie rozwiązać to tak szybko, jak tylko możesz napisać. Nie wydaje się to jednak wystarczające.

Czy to może być coś w rodzaju nadania mu średnio skomplikowanego programu buggy i zobaczenia, jak szybko może go przerobić i zidentyfikować wszystkie problemy z nim związane?

Claudiu
źródło
Pytanie zakłada, że ​​można to zrobić niezawodnie.
Anthony
niekoniecznie. prawidłowa odpowiedź brzmiałaby „w ogóle nie ma mowy”
Claudiu,

Odpowiedzi:

65

Przepraszam każdego, kto nie dba o długie odpowiedzi, ale uważam, że bardzo ważne jest zakwalifikowanie kandydatów przed ich zatrudnieniem. Każdy, kto przeprowadził znaczną liczbę wywiadów w tej branży, wie, że większość kandydatów nie przetrwa pierwszych 15-30 minut rozmowy, więc większość tej listy nie będzie potrzebna. Pamiętaj tylko, jak drogie (finansowo i emocjonalnie) jest zwolnienie kogoś, zanim odrzucisz moją listę jako przesadę. Próbowałem tutaj wymienić tematy moich wywiadów według ważności.

Ogólna inteligencja (łamigłówki / łamigłówki logiczne)

Wiedza informatyczna

Ćwiczenia programistyczne

  • GCD , Factorial , Fibonacci , Towers of Hanoi
  • Odwrócenie ciągów i list
  • Sprawdź, czy pojedynczo połączona lista ma pętlę (czy możesz to zrobić za pomocą tylko dwóch wskaźników?)
  • Znajdź błąd

Znajomość technik programowania obiektowego i typowych wzorców projektowych

Analiza algorytmów ( złożoność O (n) w czasie wykonywania i wymagania dotyczące przechowywania)

Wykorzystanie narzędzi i metodologii

Znajomość typowych luk w zabezpieczeniach i ataków

Podstawowa matematyka

  • Systemy liczbowe (konwersja z jednej bazy na drugą)
  • Teoria prawdopodobieństwa
  • Odległość między dwoma punktami na płaszczyźnie kartezjańskiej (twierdzenie Pitagorasa)
  • Pierwiastek kwadratowy (Heron of Alexandria, kolejne przybliżenia)

Kryptografia

  • Kryptografia klucza publicznego
  • Kryptografia z kluczem symetrycznym
  • Funkcje skrótu
  • Protokoły kryptograficzne (tajne udostępnianie, dowody zerowej wiedzy)

Matematyka dyskretna

  • Logika
  • Ustaw teorię
  • Teoria grafów
  • Teoria informacji
  • Kombinatoryka
  • Dowody (jak istnienie liczb niewymiernych, nieskończone liczby pierwsze)

Możesz także zajrzeć do książki Wywiady programistyczne wyeksponowane . To dobre odniesienie do tematu.

rboyd
źródło
10
Uff, to musi być jakiś długi wywiad.
Rick Minerich
8
Dzisiaj próbowałem rozwiązać „Crossing Bridges” z moim kolegą z zespołu ACM Programming. Jedyna różnica polega na tym, że musimy go rozwiązać dla dowolnej liczby osób. Rozwiązanie problemu zajęło nam około 30 minut dla dowolnej liczby N osób… ale w rozmowie kwalifikacyjnej wydaje mi się, że zagadki są kiepską miarą.
52
W wywiadzie łamigłówki są do bani, ponieważ rozmówca jest zdenerwowany, nie myśli prosto itp. Ponadto wiele łamigłówek jest a-ha! wpisz rzeczy, które tak naprawdę nic nie mówią o kandydacie.
11
Te matematyczne problemy uważam za bardzo trudne. Po 10 latach ukończenia studiów informatycznych, jak możesz sobie przypomnieć, jak udowodnić nieracjonalne liczby i tym podobne?
14
Problem z łamigłówkami polega na tym, że większość ludzi ich nie rozwiązała; właśnie widzieli odpowiedzi wcześniej. Więc najbardziej doświadczeni kandydaci będą udawać, że ich nie widzieli, i zastanawiają się nad odpowiedzią, którą już znają. Jeśli Twoim celem jest zatrudnienie inteligentnych ludzi, a nie podstępnych, puzzle są złym wyborem.
Kyralessa
28

Ach, odwieczne pytanie.

W tym roku przeprowadziłem wiele wywiadów (mam jutro dwóch kandydatów), a z mojego doświadczenia wynika, że ​​w zatrudnieniu chodzi bardziej o przeczucie i umiejętności ludzi, a mniej o wiedzę techniczną.

  1. Nie spiesz się z CV. Niektóre CV można odrzucić w ciągu kilku sekund, inne zajmują pół godziny. Czasami myślę o kandydacie opartym na CV znacznie dłużej niż przeprowadzam z nim wywiad. Kilka razy przygotowałem pytania do rozmowy kwalifikacyjnej specjalnie dla tego kandydata, chociaż zazwyczaj nie przygotowałem pytań.

  2. Wiedza techniczna - potrzebuję minimum, które zazwyczaj jest dość łatwe do ustalenia. Jeśli masz wątpliwości, podczas wywiadu mów o projektach, o których wspomniał w CV, i idź tak głęboko, jak potrzebujesz. Zazwyczaj wystarcza to, aby powiedzieć ci, co wie i co sprawia, że ​​tyka. Edukacja nie jest ważna, poprzednie prace mają znaczenie, możliwe projekty osobiste osiągają wysokie wyniki.

  3. Zapytaj, co chce robić i dokąd chce iść ze swoją karierą - czy potrzebujesz tego, co ma i czy możesz zapewnić to, czego chce? Poza tym pod koniec rozmowy zwykle pytam o preferowaną pensję. Jeśli jest poza moim zasięgiem lub jeśli nie zapłacę tyle za to, co wie, to tutaj kończymy wywiad.

  4. Co najważniejsze, kandydat musi pasować do zespołu i muszę mieć pewność, że będziemy w stanie współpracować. Nie muszę go lubić, ale muszę być w stanie sobie z nim poradzić, a on musi być w stanie mnie obsłużyć. Jeśli tak nie jest, przejdę, ponieważ nie będę w stanie wykorzystać jego wiedzy technicznej. Z drugiej strony, jeśli tak jest, a jeśli jest on szybkim uczniem, jego brak wiedzy technicznej nie powstrzyma mnie przed zatrudnieniem go.

Wyszkoliłem dziewczyny z działu HR, aby przekazywały mi wszelkie CV, gdy tylko je otrzymają; Umawiam się na rozmowę osobiście, tak szybko jak to możliwe (najlepiej pojutrze po otrzymaniu CV za dobre CV). Potem dostaje pół godziny lub godzinę rozmowy ze mną i co najmniej jednym współpracownikiem (zwykle moim szefem lub członkiem zespołu), gdzie go poznaję i odpowiadam na wszelkie pytania. Nawet jeśli odrzucę jego podanie na miejscu, będzie miał 20-30 minut na wycieczkę po firmie i mówię o tym, co robimy i jak to robimy. Potem wysyłam go do HR na test psychologiczny i trochę naprawdę bardzo podstawowego kodowania papierowego / SQL. Oba testy prawie nigdy nie odgrywają znaczącej roli w mojej decyzji, jest to raczej weryfikacja, którą właściwie oceniłem w wywiadzie. Po wynikach jest 15-minutowa rozmowa, w której składam mu ofertę, a jeśli negocjujemy warunki, z których oboje jesteśmy zadowoleni, jest zatrudniony.

To proces, o który musiałem walczyć poprzez biurokrację firmy, po tym, jak straciłem kilku świetnych kandydatów, i który działa, ponieważ to ja decyduję o zatrudnieniu (chociaż słucham rad zarówno HR, jak i współpracowników, mój słowo jest ostateczne). Więcej decydentów, dłuższy proces. Im dłuższy proces, tym bardziej musisz być Google, aby uzyskać najwyższe plony.

Jak tylko upewnię się, że to nie pasuje, kończę wywiad, on dostaje wycieczkę po firmie i to koniec. Może to potrwać dwie minuty przez telefon podczas planowania rozmowy. Nawet jeśli odrzucisz kandydata, sprzedaj firmę. Jeśli wykonałeś dobrą pracę, dobry zatrudnienie może pochodzić z ust odrzuconych kandydatów.

Również jedna wskazówka. Wysyłaj listy odrzucające (lub e-maile) dla każdej otrzymanej aplikacji. W mojej obecnej firmie zwykle zostawiam to HR (oprócz tych, które mówię podczas rozmowy), ale w pewnym momencie bezcenne było uzyskanie zachwyconej odpowiedzi odrzuconego kandydata w stylu „DZIĘKUJĘ! Jesteś pierwszą firmą, która faktycznie odpowiedział, zamiast zostawiać mnie zastanawiającego się, czy kiedyś odpowiedzą! ”

Domchi
źródło
Testy psychologiczne?
5
@ Ink-Jet: nie, testy psychologiczne były prawidłowe - kandydat jest proszony o napisanie kodu, który będzie prowadzony przez brutalnego mężczyznę, który zna również swój adres domowy.
Szczerze mówiąc, przeczytałem to po raz pierwszy.
@Grundlefleck - tak, to prawda. :)
Domchi,
2
Gdybym dostał twój list odrzucający, podziękowałbym ci. Zostałem odrzucony przez ciszę po dotarciu do wywiadu telefonicznego, a to denerwuje.
01d55
24

Ta odpowiedź jest trochę nieszablonowa, ale myślę, że jest to cenna kwestia.

Najlepsi programiści rzadko przeprowadzają wywiady. Nie muszą . Jeśli twoja firma jest szczególnie zmieniająca świat lub ekscytująco spowita tajemnicą, lub kilku programistów, których szanują, poszło tam, to mogą się ubiegać, ale zwykle wielcy programiści dostają pracę za pośrednictwem swojej sieci współpracowników, nie wysyłając CV.

Więc: najlepszym sposobem, aby powiedzieć doskonałemu programistowi podczas rozmowy kwalifikacyjnej, jest to, że go tam nie ma .


źródło
2
taka prawda ... świetna uwaga. :)
Arnis Lapsa
5
Więc .... to raczej „kogo znasz” niż „co robisz”? Naprawdę okropni programiści dostają także pracę za pośrednictwem przyjaciół i rodziny. Och, przepraszam „sieć współpracowników”.
Philip
17

Każda odpowiedź musi zawierać próbki kodu. Zatrudnianie programisty bez zobaczenia jego kodu lubi zatrudniać szefa kuchni bez próbowania gotowania.

Andy Lester
źródło
11

Być może „doskonały” programista nie przychodzi na rozmowę. Prawdopodobnie musisz go ukraść od kogoś innego.

interstar
źródło
doh! ta odpowiedź wydaje się być popularna. Tak jak muszę zacząć wychodzić i ubiegać się o pracę ...
interstar
9

Jednym ze sposobów, by powiedzieć pasjonatom programistów z programistów „Chcę tylko pracy”, jest zapytanie ich, jaką książkę czytają w tym tygodniu. Następnie zapytaj ich o książki, które przeczytali w ciągu ostatnich tygodni.

Przekonałem się, że namiętni programiści ZAWSZE czytają i zwykle lista zawiera kilka programów / komp. Sci. książki z najnowszej listy.

Nie chodzi tylko o nadążanie za tym zawodem - namiętni programiści mają chęć i zamiłowanie do programowania, a także pochłaniają materiały na różne tematy - nie tylko w jakim języku używają teraz, ale metodologie, inne języki (szczególnie nowe lub „dziwne” lub starożytne), inne aspekty informatyki (może robotyka, sztuczna inteligencja, gry lub…)

Jeśli w ogóle nie mają ostatniej listy książek, to z mojego doświadczenia prawdopodobnie nie są zbytnio programistami.

Twoje zdrowie,

-R

Huntrods
źródło
8
Moja ostatnia lista książek prawie zawsze jest fikcją. Moje ostatnie czytanie techniczne jest prawie całkowicie online, ponieważ jest bardziej aktualne.
1
Jeszcze lepiej, zapytaj ich, jaką książkę napisali w tym miesiącu. :)
7

Istnieją różne przedziały czasowe, w których ktoś może być „szybki”: niektórzy sprytni ludzie potrafią rozwiązywać trudne zagadki w kilka sekund, ale niektórzy sprytni ludzie produkują dużo dobrego kodu w ciągu miesiąca, nawet jeśli nie są tacy szybcy podczas pytań podczas rozmowy kwalifikacyjnej.

Zapytaj kandydatów, czy są aktywni w jakimkolwiek projekcie open source, w którym możesz przejrzeć część ich kodu, i poświęć trochę czasu na czytanie archiwów list mailingowych tych projektów i zapisywanie dzienników. To powie Ci o wiele więcej niż cokolwiek, co kandydaci mogą wykazać podczas rozmowy kwalifikacyjnej. (Oczywiście nie może to zastąpić wywiadu, ponieważ nie wszyscy dobrzy koderzy wykonują prace typu open source).

Jouni K. Seppänen
źródło
7

Książka „ Smart and Gets Things Done: zwięzły przewodnik Joela Spolsky'ego po poszukiwaniu najlepszych talentów technicznych ” może pomóc w znalezieniu odpowiedzi.

Spis treści:

  • Wprowadzenie
  • Rozdział 1: „Uderzanie w wysokie nuty”
  • Rozdział 2: „Znalezienie wielkich programistów”
  • Rozdział 3: „Poradnik dla programistów”
  • Rozdział 4: „Wznawianie sortowania”
  • Rozdział 5: „Ekran telefonu”
  • Rozdział 6: „Przewodnik partyzancki po rozmowach”
  • Rozdział 7: „Naprawianie nieoptymalnych drużyn”
  • Dodatek: „Test Joela”

Pomocny może być również artykuł Joela „Przewodnik partyzancki po rozmowach kwalifikacyjnych (wersja 3)” .

Oraz artykuł Steve Yegge na temat „Gotowe i inteligentne” .

sergtk
źródło
4

Zadaj im serię pytań, które wymagają kodowania i sprawią, że pytania staną się trudniejsze. Jeśli wydaje się, że podoba im się wyzwanie, prawdopodobnie masz je na żywo.

Jeśli nie potrafią odpowiedzieć na pierwsze łatwe pytanie, na przykład „napisać pętlę for” lub coś głupio łatwego, to wiesz, że ta osoba nie umie kodować.


źródło
4

Niech mają kod na tablicy. Tylko w ten sposób będziesz w stanie stwierdzić, czy potrafią pisać kod.


źródło
Nie wiem, dlaczego to zostało odrzucone. Jeśli programista nie może napisać kodu na tablicy, co sprawia, że ​​myślisz, że będzie w stanie napisać go na komputerze?
Kristopher Johnson,
3
@Kristopher: Jeśli programista potrafi napisać dobry kod na komputerze, co sprawia, że ​​myślisz, że będzie w stanie napisać go na tablicy? Są to znacznie różne środowiska.
David Thornley,
„Test tablicy” nie ma na celu symulacji faktycznego kodowania. To szansa, aby zobaczyć, jak myśli kandydat, czy kandydat może opisać, co robią, jak szybko kandydat tworzy rozwiązanie w swojej głowie itp. Ktoś, kto tylko patrzy na tablicę, nie mając pojęcia, co napisać, prawdopodobnie będzie miał ten sam problem na komputerze.
Kristopher Johnson
3

Powinieneś przede wszystkim oceniać pracę, którą już wykonali. Jakikolwiek kod lub pomysły, które ktoś generuje podczas wywiadu z niepokojem, są kiepskim dowodem na to, co mogą faktycznie stworzyć w zespole.

Aby wykonać wyzwania związane z kodowaniem, używaj komunikatorów internetowych z czymś takim jak codepad.com i pozwól im to robić w zaciszu własnego domu. Czy piszesz dużo kodu na tablicy przed szefem, z 30-minutowym terminem i premią na linii? Ja nie.

Czy więc wywiad nie ma sensu? Nie, ale należy położyć na nich nacisk na wyjaśnienie, co zrobili i co dokładnie wnieśli.

Będziesz także narażony na wszelkiego rodzaju uprzedzenia psychologiczne, gdy spotkasz kogoś twarzą w twarz. Nie przypadkowo zatrudnij programistę, ponieważ nawiązał lepszy kontakt wzrokowy lub jest wyższy niż ktoś inny. Aby ominąć te kwestie, przeprowadziłbym jak najwięcej wywiadów za pośrednictwem wiadomości błyskawicznych / e-mail, zanim spotkasz się z nimi osobiście.


źródło
Możesz odwrócić ten efekt, patrząc na uprzedzenia psychologiczne innych ludzi w historii zatrudniania kandydatów. Niscy ludzie, którzy zajmowali wysokie stanowiska i osiągnęli pewne rzeczy, są prawdopodobnie naprawdę bardzo dobrzy. Wysocy ludzie z tą samą historią nie będą na ogół tacy dobrzy i nie będą się dobrze bawić.
Tim Williscroft,
2

Język nie ma znaczenia. Logika robi. Mam na myśli, że IDE i kompilatory są obecnie tak dobre, że każdy dobry programista może wybrać dowolny język (a może nie asembler) w ciągu tygodnia; stać się przyzwoitym za kilka tygodni i być bardzo dobrym za kilka miesięcy.

To jego mózg musi potwierdzić. I robisz to, moje gadanie. Proszę ich o rozwiązywanie prostych problemów. Nie przez pisanie kodu, ale przez przejście mnie przez ich logikę, aby znaleźć rozwiązanie.

Ale przyznaję, że jeśli nie potrafi napisać prostej pętli liczącej od 1 do 10, masz kłopoty.

Stephen Cox
źródło
1

Przede wszystkim istnieje jeden sposób, w jaki możesz znaleźć pomysł, zanim jeszcze rozpocznie się rozmowa:

Jeśli mają bloga lub współuczestniczą w co najmniej jednym projekcie open source, po prostu spójrz na kod i artykuły, które napisali. Po pierwsze, jeśli zrobili jedno z nich, to mają inicjatywę, aby załatwić sprawę. Możesz także porównać te rzeczy z doświadczeniem zawodowym, które wymienili w swoim życiorysie i dowiedzieć się, czy wrócą do domu i dowiedzą się więcej po pracy, czy też wrócą do domu i zapomną o pracy po 17:00.

Zasadniczo, czy pasjonują się programowaniem, czy nie? To jest prawdziwe pytanie.

Chris Pietschmann
źródło
1

Najlepszym moim zdaniem jest obecność dobrego programisty w wywiadzie.

Tylko ekspert może ocenić, czy wnioskodawca po prostu zna wiele pytań na rozmowę kwalifikacyjną lub czy rzeczywiście myśli o problemach i może przejść do szczegółów. Pamiętaj, że nie chcesz zatrudniać ludzi do rozwiązywania zagadek z rozmową kwalifikacyjną, chcesz ich zatrudnić, aby wykonali rzeczywistą pracę.

Zagadki mają wykluczać osoby, które nie rozumieją podstaw. Jeśli chcesz sprawdzić swoje umiejętności, przygotuj kilka rzeczy, o których (lub Twój „dobry programista”) możesz szczegółowo przyjrzeć się i skupić na tym, o czym musi pomyśleć kandydat przez chwilę. Jak podchodzi do problemów, których nie od razu zna rozwiązanie?

MDM
źródło
1

Nie sądzę, że powinieneś rozmawiać o pasji podczas wywiadu. Szczerze mówiąc, brzmi to jak firma, która szuka „pasji”, tak naprawdę oznacza „pracować bez pieniędzy na ten pomysł”.

Pasja nawet nie gwarantuje doskonałości. Mam na myśli, że spędzam prawie całe życie programując, czytając o programowaniu, ucząc się szalonych języków, takich jak Erlang lub Clojure, i nie dostaję za to żadnego wynagrodzenia. A jednak jestem do kitu.

Uważam, że doskonały programista powinien mieć na koncie udane projekty, w które byli aktywnie zaangażowani. W związku z tym zmuszanie programisty do pisania czegoś powyżej podstawowego FizzBuzz jest niepotrzebne w wywiadzie. Opowiedz o swoich wcześniejszych projektach i tym, co zrobili. Czy zatrudniasz programistów do rozwiązywania kostek Rubika i liczenia kulek, czy też pracujesz nad długimi i dużymi i wyczerpującymi projektami oprogramowania zawierającymi ponad 50 linii coe?


źródło
1

http://www.inter-sections.net/2007/11/13/how-to-recognise-a-good-programmer/

Z artykułu:


Kryteria w punktorach

Podsumowując, oto kilka wskaźników i przeciwwskazań, które powinny pomóc Ci rozpoznać dobrego programistę.

Pozytywne wskaźniki :

  • Pasjonat technologii
  • Programy jako hobby
  • Jeśli będzie zachęcany, odezwie się do tematu technicznego
  • Znaczące (i często liczne) osobiste projekty poboczne na przestrzeni lat
  • Sam uczy się nowych technologii
  • Wyrażono opinię, które technologie są lepsze dla różnych zastosowań
  • Bardzo niewygodny pomysł pracy z technologią, która jego zdaniem nie jest „właściwa”
  • Wyraźnie inteligentny, może prowadzić świetne rozmowy na różne tematy
  • Rozpoczął programowanie na długo przed uniwersytetem / pracą
  • Ma ukryte „góry lodowe”, duże osobiste projekty w ramach radaru CV
  • Znajomość szerokiej gamy niepowiązanych technologii (może nie być w CV)

Wskaźniki ujemne :

  • Programowanie to codzienna praca

  • Naprawdę nie chcę „rozmawiać w sklepie”, nawet jeśli jest się do tego zachęcanym

  • Uczy się nowych technologii na kursach sponsorowanych przez firmę

  • Chętnie współpracuje z dowolną wybraną technologią, „wszystkie technologie są dobre”

  • Nie wydaje się zbyt mądry

  • Rozpoczął programowanie na uniwersytecie

  • Całe doświadczenie programistyczne znajduje się w CV

  • Koncentruje się głównie na jednym lub dwóch stosach technologii (np. Wszystko związane z tworzeniem aplikacji Java), bez doświadczenia poza nią

Ronny Brendel
źródło
czy mógłbyś wyjaśnić więcej na temat tego, co robi i dlaczego polecasz to jako odpowiedź na zadane pytanie? „Tylko odpowiedzi” nie są mile widziane na Stack Exchange
gnat
0

Doskonały programista będzie w stanie współpracować również z równorzędnymi użytkownikami o niższym spektrum. Tak długo, jak potrafią wykonać test i nie pogrążają się w swoim ego, masz dobrego kandydata, prawda?

Ten test fizzbuzz jest jednak trochę zabawny. Rozwiązanie, o którym mogę pomyśleć, wykorzystuje operator modulo. Które znam tylko z obliczania współrzędnych mapowania postaci (nigdy nie wspomnianych w szkole lub na studiach). Czy przeciętny programista wiedziałby o tym, czy miałbym wykształcenie?


źródło
Dziwi mnie, że nie spotkałeś operatora modulo. Przedstawiono mi go w różnych językach, których nauczyłem się przez cały rok.
2
Jeśli studiowałeś w CS na studiach, operator Modulo programuje 101
zaskakująco rzeczy, takie jak zmiana bitów i modulo, są pomijane na studiach
Claudiu
Myślę, że to zależy od tego, czego próbują cię nauczyć na studiach. Nie sądzę, żebym kiedykolwiek używał modulo w prawdziwym problemie, ani nie nauczył tego wprost. Ale jest to bardzo powszechne w tego rodzaju ćwiczeniach (i pytaniach egzaminacyjnych).
interstar
2
W rzeczywistości oboje są ogólnie nauczani w szkole podstawowej; na tym etapie są one określane jako „reszta” i „pomnożenie przez 10”.
intuicyjnie,
0

Jednym z kryteriów, które stosuję, jest dostrzeżenie „rodzaju” języków i narzędzi, nad którymi pracował, zarówno w projektach akademickich, jak i zawodowych, i co dokładnie osiągnął. Czy zawsze pracował na poziomie aplikacji przy użyciu standardowych bibliotek (zawsze facet w języku C # lub VB6?) Czy też zrobił projekt wykorzystujący C w Linuksie, zajmujący się hardcorowymi rzeczami, takimi jak wskaźniki, zarządzanie pamięcią, rekurencja, synchronizacja procesów, wzajemne wykluczanie, zdarzenia itp. Jeśli zawsze używał tych podstawowych i podstawowych pojęć pod jakąś warstwą abstrakcji, będę wątpił.

Jest to oczywiście dodatek do zmuszania go do pisania kodu. Nic tego nie zastąpi. Zależy mi jednak na tym, że niektórzy ludzie potrafią pisać kod szybciej niż inni, a ludzie mają inny czas reakcji w świetle reflektorów podczas wywiadu.


źródło
rekurencja, synchronizacja procesów, wzajemne wykluczanie. Technologie te są równie ważne, niezależnie od tego, czy pracujesz w języku C #, VB.NET, C czy asemblerze.
-1 - To jest błędne. „Rodzaj” języków i narzędzi jest w 100% „nieistotny”.
Morgan Herlocker,