Wczoraj miałem straszne doświadczenie w wywiadzie.
Ankieter zapytał mnie o czystą funkcję wirtualną. Powiedziałem: Może lub nie może mieć definicji w klasie bazowej, ale klasy pochodne powinny zapewniać definicję, chyba że chcą także być klasą abstrakcyjną.
Ale ankieter ciągle pytał: „Czy czysty wirtualny może mieć definicję !!! ???” ... Powiedziałem tak.
Znów powiedział „Czysty?”
Powiedziałem tak. Jest to dozwolone, klasy pochodne mogą jawnie wywoływać tę funkcję, jeśli chcą tego konkretnego zachowania.
Wysłał mnie. Jestem pewien, że nie wie on, że czysta funkcja wirtualna może mieć definicję.
Jak radzić sobie z tego rodzaju ankieterami?
Czy po drugim pytaniu powinienem kłamać, że nie może mieć definicji? :)
Czy powinienem trzymać się słów i stracić okazję do pracy?
arr[++i] = i
. A kiedy powiedziałem, że wywołuje to nieokreślone zachowanie i powiedziałem mu o sekwencjach , przez chwilę oniemiał, a potem wyraz jego twarzy i dalsze pytania sprawiły, że uwierzyłem, że nigdy wcześniej nie słyszał tych terminów!Odpowiedzi:
Nie. I powinieneś podziękować swoim szczęśliwym gwiazdom, za którymi tęskniłeś. Praca dla ludzi, którzy odmawiają przyznania się, że mogą nie wiedzieć wszystkiego i odmawiają uczenia się od innych, jest BARDZO nieprzyjemnym doświadczeniem.
źródło
Przykład czystej funkcji wirtualnej z definicją:
źródło
Problemem nie jest poprawność techniczna, ale umiejętności społeczne / komunikacyjne. Wytrzymaj, ale uznaj punkt widzenia ankietera i pozwól mu uratować twarz.
Gdy zobaczysz, na co polował („czysty?” To dobra wskazówka), dobrą odpowiedzią może być:
źródło
Można było wyjaśnić, jak zadeklarować funkcję czysto wirtualną z implementacją.
W rzeczywistości chciałbym, żebyś tu był, ponieważ nie znam się na tym, jak to zrobić.
źródło
Wiele razy, kiedy przeprowadzam wywiad z kandydatem, szukam sposobu, w jaki dana osoba radzi sobie z niepewnością lub radzi sobie z konfrontacją. Następnym razem, kiedy przeprowadzasz wywiad, bądź na to wrażliwy i spróbuj konstruktywnie odpowiedzieć na pytanie lub wyjaśnić swoje stanowisko. To może być ważniejsze niż poprawna odpowiedź.
źródło
Byłem w wywiadach, w których wiedziałem więcej niż mój ankieter. Chcieli jednak, aby ktoś wypełnił rolę i nie mieli (oczywiście) nikogo, kto mógłby przeprowadzić wywiad na tym poziomie.
Czy w twoim przypadku czujesz, że była to ślepa ignorancja lub prawdziwe nieporozumienie? Być może wiadomość zwrotna z przykładami i referencjami: sprawdź, jak zareagują przed podjęciem decyzji.
Skłaniam się ku „ślepej niewiedzy”, choć opiera się na twoim pytaniu i pozostałbym jasny ...
źródło
W takiej sytuacji proponuję napisać prostą klasę z wirtualną funkcją z ciałem i sprawdzić, czy się kompiluje. Przynajmniej proponuję przeszukać temat w Google.
Jeśli ankieter podejmie wyzwanie, przyznaje się do porażki i nie wygląda na to, że zaraz cię udusi, to powinieneś być w dobrej formie. W przeciwnym razie prawdopodobnie nie jest to osoba, z którą chcesz pracować.
źródło
Całkowicie nie zgadzam się z pomysłem, że powinieneś zrezygnować z firmy, ponieważ facet przeprowadzający z tobą wywiad nie zna odpowiedzi na jego pytanie. Nawet podczas pracy spotkasz ludzi upartych, nawet gdy się mylą. To dobra umiejętność manewrowania ludźmi, aby uzyskać właściwą odpowiedź.
W moim przypadku ankieter zapytał, jak obliczyć wariancję wielu liczb na wielu komputerach. Zacząłem od stwierdzenia, że wariancja jest średnią kwadratów minus kwadrat średnich. Wtrącił: „nie, to jest
E[(x - mu)²]
”.Powiedziałem: „Tak, masz rację. Ale twoja formuła jest taka sama jak moja. Wyprowadźmy to razem”. A potem wyprowadziliśmy to razem.
W sytuacji, gdy uznasz, że osoba przeprowadzająca wywiad jest niedowierzająca, musisz zmienić swoje podejście. Powiedz mu, że jest to rzadko znana funkcja (ma to na celu sprawienie, byś brzmiał mniej jak wiedzący wszystko), a jeśli chce, wyślesz mu przykładowy program lub odniesienie do książki C ++ po wywiadzie (jest to dzięki czemu wywiad może przejść z wdziękiem do przodu).
Spróbuj wyobrazić sobie rzeczy z jego perspektywy. Pewnego dnia będziesz przeprowadzać wywiady z ludźmi i czasem się mylisz. Jak chciałbyś, aby lśniący kandydat odpowiedział na takie pytanie?
źródło
Myślę, że powinieneś przenieść wywiad z biurka na komputer z kompilatorem. To rozwiązałoby problem.
źródło
EDYCJA: najwyraźniej całkowicie się mylę, patrz komentarze poniżej tej odpowiedzi. Pozostawienie odpowiedzi tutaj w celach edukacyjnych.
Niestety się mylisz. Funkcja wirtualna może mieć definicję; czysty wirtualne funkcja nie. Brak definicji sprawia, że jest czysty.
źródło
Wiesz, że cokolwiek odpowiedziałeś, jest słuszne. Moim zdaniem wykonałeś dobrą robotę, trzymając się odpowiedzi, ponieważ miałeś rację. Nie ma potrzeby kłamać, ponieważ jeśli nie dzisiaj, jakiś inny ankieter czasu dowie się o czysto wirtualnych funkcjach !!!! .. On również może cię testować, aby sprawdzić, jak silna jesteś w swoich decyzjach? Czy jesteś osobą, która łatwo daje się ponieść emocjom? Nie ma potrzeby tracić nadziei, ponieważ dobrze znasz swoje
źródło