Wprowadzasz kod do rozmowy kwalifikacyjnej? [Zamknięte]

14

Czy przyniesienie do wywiadu wydrukowanego kodu lub kodu na USB jest dobrym pomysłem? Jeśli tak, jaki kod powinienem przynieść. Czy powinienem unikać dużych projektów i pokazywać tylko małe fragmenty, które pokazują moje umiejętności?

Anthony
źródło
Nie. To, co może zrobić firma, to dać ci egzamin na miejscu po rozmowie kwalifikacyjnej, a następnie wrócić za około 2 dni, aby wyjaśnić, co zrobiłeś i dlaczego.
Job

Odpowiedzi:

15

Raczej nie . Zrobiłbym to tylko na wyraźne żądanie i oczywiście nie możesz przynieść kodu, który jest w jakikolwiek sposób poufny, co zwykle dotyczy wszystkiego, co napisałeś w poprzednim zadaniu, więc zasadniczo jesteś ograniczony do kodu utworzonego w wolnym czasie. (Większość ankieterów natychmiast poprosiłaby cię o eskortę do drzwi, jeśli otrzymałeś poufny kod od swojego obecnego pracodawcy ...)

W każdym razie, jako ankieter, wolałbym widzieć, jak piszesz kod podczas wywiadu, więc mogę być pewien, że to ty posiadasz umiejętności. Po prostu zbyt łatwo jest mieć dobrych przyjaciół, którzy pomogą Ci napisać najbardziej imponujący fragment kodu i zapamiętać wyjaśnienia.

użytkownik 281377
źródło
6

Myślę, że to świetny pomysł! Szkoda, że ​​recenzje kodów nie są wykonywane częściej, ponieważ jest to jeden z niewielu sposobów rozpoznawania dobrych programistów (z wyjątkiem faktycznego posiadania przez nich czegoś kodu). Patrząc na czyjś kod, dość szybko orientujesz się, jak dobry jest programista tylko dlatego, że „czystszy” jest jego kod.

Gdybym przeprowadzał wywiad, patrzyłbym na dwie rzeczy, które prawdopodobnie dobrze byłoby zawrzeć w przyniesionym kodzie

a) Jakość niektórych implementacji / metod / algorytmów. Pokaż kod, który uważasz za szczególnie elegancki

b) Ogólna architektura większego programu. Jak programista poradził sobie z zależnościami, czy może wyjaśnić decyzje projektowe, które podjął

Celem nie jest przejście przez cały kod, więc tak naprawdę nie ma znaczenia, jak długo faktycznie go przyniesiesz, ale co chcesz w nim podkreślić.

Homde
źródło
5
Zawsze istnieje problem z faktem, że kod jest napisany przez rozmówcę. W tym sensie może przegląd kodu czyjś kod mógłby nauczyć cię tyle, a nawet więcej - ponieważ rozmówca nie byłby w stanie przygotować się z wyprzedzeniem?
Benjol,
1
Nie sądzę, żeby to był duży problem, ponieważ oceniasz osobę na podstawie umiejętności wyjaśniania jej kodu i sposobu myślenia. Jest to dość trudne, jeśli nie jest to twój własny kod. Jak możesz wyjaśnić coś, czego nie do końca rozumiesz?
Homde
5
Nie zapominajmy o potencjalnym (lub prawdopodobieństwie), że napisany przez ciebie utwór jest adresem IP twojego byłego pracodawcy (chyba że jest to projekt poboczny lub napisany osobiście) i unikałbym przekraczania tej linii tak bardzo, jak to możliwe, niewinne lub w inny sposób.
Brad Christie,
Brad, to dobra uwaga. Zwykle nie wolno przechowywać kopii pracy wykonanej jako konsultant, więc użycie takiego kodu może być trudne. Kolejny powód, aby zatrudnić programistów, którzy pracują nad projektami dla zwierząt! :)
Homde
4

Odmianą tego jest podanie ankieterowi adresu URL repozytorium dla niektórych projektów typu open source, do których w dużej mierze przyczyniłeś się.

Stephen C.
źródło
2

Nie.

O ile nie masz zaplanowanej prezentacji w rozsądnej długości podczas wywiadu, rodzaj kodu, który masz czas pokazać i mają czas na docenienie; nie może reprezentować twoich umiejętności, niezależnie od tego, gdzie jesteś w swojej karierze.

Jeśli chcą zobaczyć dowody na to, że jesteś dojrzałym programistą, nie znajdzie się to w rozmiarze programu, z którym można skutecznie przejść w sekcji wywiadu AOB.

Jeśli chcą, abyś wykazał, że możesz w ogóle programować, przeprowadzi odpowiedni test lub poprosi cię o zrobienie czegoś małego, na przykład połączonej listy na miejscu. Jeśli przyniesiesz powiązaną implementację listy na kluczu USB, nie mają pojęcia, ile skopiowałeś z książki; czy zajęło ci to 10 minut czy dwa tygodnie; lub czy trzeba zapytać stackoverflow, czym jest wskaźnik.

Co jeszcze byś pokazał? Czysty, dobrze napisany i łatwo zrozumiały kod jest nudny. Twoi ankieterzy nie będą siedzieć i zachwycać się, jak wyraźnie mogą zrozumieć intencje twojego fragmentu, będą się zastanawiać, dlaczego uważasz, że to klejnot w koronie. Z drugiej strony, wyobraź sobie, że wynalazłeś coś sprytnego, jak urządzenie Duffa , i chciałeś się tym pochwalić. Ankieterzy prawdopodobnie uznaliby cię za wroga czytelności.

Paul Butcher
źródło
Czysty, dobrze napisany kod rozwiązujący trudny problem może być niezwykle interesujący. A jeśli ankieter tak nie uważa, mówi ci jedną z dwóch rzeczy: albo nie jesteś na poziomie, którego szukają, lub nie jest na poziomie, który chcesz dla kolegów. Tak czy inaczej (i mam nadzieję, że dyskusja podkreśli, które), czas spojrzeć gdzie indziej.
Anon,
Mam na myśli to, że czysty, dobrze napisany kod, który rozwiązuje trudny problem, sprawia, że ​​problem wydaje się znacznie mniej trudny, przez co sam kod wydaje się znacznie mniej interesujący.
Paul Butcher,
1

Wyświetlany kod powinien być na ogół wystarczająco mały, aby można było o nim mówić w ciągu 5 minut, a kod nie powinien zajmować więcej niż 2 wydrukowane strony. Nawet jeśli jest to tylko metoda, którą napisałeś, aby parsować numery telefonów z książki telefonicznej, jest to przydatne.

George Stocker
źródło
1

Jeśli chcesz nosić projekt. Nie noś kodu. Więcej niż czystość, ankieter zacznie wskazywać błędy. Z pewnością byłyby (wiele) błędów (o których nie pomyślałeś), gdyby projekt był jakimś projektem szkoły średniej. A jeśli jest to jakiś kod firmy, noszenie kodu chronionego prawem autorskim i pokazywanie go innym osobom jest nielegalne.
Pokazywanie kodu, który już napisałeś, może nie mieć większego znaczenia, jeśli nie odpowiesz na pytania zadane przez ankietera. A jeśli go nie nosisz, to również nie ma żadnych punktów -ve. Więc po co zawracać sobie głowę.

Manoj R.
źródło
1

Tak!

Każdy głupiec może napisać kod zrozumiały dla komputera, a wielki programista musi napisać kod zrozumiały dla człowieka.

Tylko z tego powodu powinieneś się pochwalić

billy.bob
źródło
Jeśli kod jest rzeczywiście zrozumiały dla człowieka. W przeciwnym razie nie rób :)
Mchl,
0

Jeśli masz kawałek kodu, który jest szczególnie interesujący, to weź go ze sobą (zakładając oczywiście, że nie jest to chroniona własność intelektualna). Ale nie zmuszaj tego do przesłuchania . Jeśli jest zainteresowany przeglądaniem twojego kodu, zapyta, czy masz coś do pokazania.

Przygotuj się, aby wyjaśnić, dlaczego to ciekawe, a lepiej, co zrobiłbyś inaczej w przyszłości.

Zaraz
źródło
0

Jeśli opracowałeś oprogramowanie typu open source (biznesowe lub osobiste), myślę, że byłby to świetny pomysł. Wysłałem fragmenty kodu wraz z materiałami aplikacyjnymi do aktualnie wykonywanego zadania, więc zaryzykuję przypuszczenie, że zadziałało to dla mnie OK. Upewnij się, że szanujesz poufność / prawa autorskie i udzielasz uznania innym osobom, które były zaangażowane (jeśli był to projekt oparty na współpracy).

Zoot
źródło