Jaki jest sens tego szczegółowego wywiadu technicznego dla Senior Dev? [Zamknięte]

10

Miałem wewnętrzny wywiad promocyjny, aby uzyskać tytuł programisty wyższego poziomu, coś w rodzaju Senior plus. Rozmawiałem z około 7 osobami używającymi różnych technologii, a ludzie używający tej samej technologii ze mną (.Net) zadają bardzo szczegółowe pytania dotyczące techniki, które można łatwo znaleźć za pośrednictwem Google, np. JIT, jak działa GC , różnica między listą a tablicą, klasa abstrakcyjna i interfejs, delegat i zdarzenie, nawet jaka jest nazwa klasy podczas przetwarzania przesyłania pliku itp. I mam tylko jedno pytanie dotyczące jednego z moich pomysłów projektowych w moim projekcie i po prostu prosta dyskusja. Ale dla większości innych moich projektów wydają się po prostu nie zainteresowani.

Nie uzyskałem jeszcze rezultatu i będzie to pod koniec tego tygodnia, ale oto moja obawa:

Osobiście myślę, że kiedy gram jako starszy programista, głównie rozwiązuję problemy i muszę tylko wiedzieć, że istnieje jakiś sposób, aby to się stało, ale nie pamiętam każdej szczegółowej rzeczy i dlatego powinniśmy mieć te szczegółowe odniesienia dokumentacja taka jak MSDN.

Czuję się dobrze, jeśli okaże się, że nie mam zbyt wielu doświadczeń w tej dziedzinie, takich jak poziom Junior lub Intermediate, ale kiedy masz tendencję do przeprowadzania wywiadów z facetem z wyższego poziomu, nie powinieneś bardziej skupiać się na tym, jak logiczne myślenie tego faceta jest dobre i jak dobre czy on / ona rozwiązuje problemy? Czy wszyscy myślą tylko, że jeśli znasz wszystkie szczegółowe drobiazgi techniczne, jesteś seniorem +. Po sprawdzeniu książek z pytaniami do wywiadu odkryłem, że jest więcej takich pytań.

Jeśli spędzę 5 dni na przejrzeniu listy pytań do wywiadu, mogę łatwo sprawić, że poczują się wow, ale czy to naprawdę coś znaczy? Tego rodzaju wywiad może łatwo pozwolić tym facetom dobrze pamiętać, że rzeczy zyskują wyższe wynagrodzenie, nawet jeśli nie mają pojęcia, jak rozwiązać problem z trudnościami.

Dlaczego dzieje się to na świecie, czy to tylko powoduje umiejętności rozwiązywania problemów, umiejętności projektowania są trudne do zmierzenia? Służę tej firmie od lat i miałem tylko kilka wywiadów z innymi firmami, więc zastanawiam się, czy każda firma robi to samo?

Czy jest to w rzeczywistości mój własny problem, że powinienem bardziej się starać zapamiętać wszystko w MSDN w mojej głowie, aby móc pracować nawet bez niego i Internetu?

EDYTOWAĆ

Dla lepszego wyjaśnienia mojej sytuacji dotyczącej troski Franka o zadania związane z pracą. Przepraszam, że mój zły nie wyjaśnił tego tła.

Tak naprawdę nie będzie żadnych zmian w zadaniach, osobiście uważam, że to, co zrobiłem jako starszy, jak przegląd kodu, członkowie mentora, przeglądanie dokumentacji licencjata i udzielanie opinii technicznych, projektowanie architektury nowych projektów, to tylko mój tytuł zostałem bez seniora i poprosiłem, aby dostał taki, który odzwierciedli odcinek wypłaty i doprowadzi do takiej rozmowy. Jest to firma Saas, więc ludzie pozostają w jednym projekcie tak długo, jak długo ten produkt jest wciąż żywy, co prowadzi do tego, że muszą mieć możliwość zaprojektowania większej liczby nowych funkcji w oparciu o bieżący produkt, naprawienia trudności technicznych na serwerach na żywo, projektu / przeglądu kodu / mentoringu członkowie I tytuł wyższego poziomu oparty na technice byłby Architektem i nie mamy żadnej pracy podobnej do Ekspertów Technicznych. Zgadzam się, że jeśli chcesz grać rolę eksperta technicznego, powinieneś wiedzieć więcej szczegółów na temat używanej technologii. Przepraszam, że mój zły nie wyjaśnił tego tła.

Simon Wang
źródło
8
Mówiąc ogólnie, moim zdaniem jest to, że zadawanie pytań, które są drobiazgami lub technicznymi szczegółami dotyczącymi wyższej roli, jest czerwoną flagą na temat procesu rozmowy kwalifikacyjnej i prawdopodobnie grupy. Powiedziałbym, że jest to podwójnie prawdą, jeśli szukasz wewnętrznej promocji. Nie wszystkie firmy są takie - znajdę taką, która nie jest.
Erik Dietrich,
Dzięki za cenny komentarz Erik, tak, myślę, że nadszedł czas, aby dokładnie przemyśleć przyszłość
Simon Wang

Odpowiedzi:

15

Jako starszy inżynier i osoba, która zatrudnia inżynierów, brzmi to tak, jakby proces wywiadu przeoczył cały szereg informacji koncepcyjnych.

Chcę, aby moi starsi inżynierowie mogli wizualizować wynik końcowy, wybrać odpowiednią technologię, zaprojektować odpowiednią bazę danych i procesy oraz móc w razie potrzeby przekazać szczegóły innym inżynierom. Google zawsze jest po ich stronie, więc skupiam się na ich zdolności do dostarczania wyników, a nie na tym, jak dużą kartę SD włożyli do ucha. (lol).

Mam nadzieję, że się uda.

gahooa
źródło
Przepraszam za spóźnioną odpowiedź, cieszę się, że to nie ja mam problem.
Simon Wang
10

Nie jest do końca pewne, jakie zadania w Twoim przypadku wiązałyby się z Senior +. Zawsze pamiętaj, że o wiele ważniejsze jest, aby wiedzieć, jakie są zadania związane z Twoją pracą niż jak nazywa się Twoje stanowisko. Posiadanie Starszego przed tytułem pracy może mieć wpływ na wynik finansowy, ale w żaden sposób nie mówi nic o tym, co faktycznie robisz w swojej pracy. Istnieją jednak dwa różne typy „programistów” na wyższym poziomie.

Architekt Systemu

Jeśli przesłuchano Cię w sprawie takiego stanowiska, to rzeczywiście coś jest nie tak. Zgadzam się z gahooa, że ​​taka rozmowa powinna koncentrować się na ogólnym myśleniu kandydata, którego chyba brakuje w twoim.

Istnieje jednak również rodzaj złej perspektywy: w codziennej pracy zawsze będziesz przytłoczony tymi drobnymi szczegółami i Twoim obowiązkiem będzie śledzenie dużego obrazu pomimo wszystkich tych drobnych zakłóceń. Jeśli chcesz sprawdzić, czy kandydat nie jest w stanie zgubić się w drobnych szczegółach, jednym ze sposobów może być próba zatopienia go w tych szczegółach. Jeśli nie przypomnisz im, że przewidywana pozycja architektury dotyczy dużego obrazu - być może nie udało ci się tego testu. Chociaż wątpię w to, ponieważ tego rodzaju rozmowy z pewnością nie są po przyjacielskiej stronie.

Ekspert techniczny

W takim przypadku możesz nie mieć większego wpływu na ogólną architekturę systemu i kierownictwo firmy. Zamiast tego skupisz się na poziomie projektowania. Pamiętaj, że wszystkie pytania podane jako przykłady idealnie pasują do tej kategorii. Od starszego programisty odpowiedzialnego za projekty SW oczekuję, że on / ona będzie wiedział takie rzeczy jak JIT, GC, struktury danych itp. - i nie musi szukać niczego poza najbardziej skomplikowanymi szczegółami. Jeśli masz zrobić projekt oprogramowania, ale nie znasz różnicy między tablicą a listą, jesteś w niewłaściwej pozycji.

Po przeczytaniu twojego pytania podejrzewam, że twoje stanowisko pracy (obecne i proponowane) koncentruje się na projektowaniu oprogramowania. W takim przypadku możesz przemyśleć to, co powinieneś wiedzieć / pamiętać, a co nie. Biorąc pod uwagę, że codziennie pracujesz z tymi rzeczami, nie powinno być potrzeby szukania odpowiedzi na podstawowe pytania, takie jak te.


Na marginesie: mój były profesor miał ciekawy zwyczaj zadawania pytań na tematy podstawowe na egzaminach ustnych na kursach zaawansowanych. Podczas gdy przedmioty te nigdy nie były wyraźnie omawiane na kursie zaawansowanym, uczeń miał je znać ze swojego podstawowego wykształcenia. W wywiadach (jakiegokolwiek rodzaju) również przestrzegam tego zachowania, ponieważ w ciągu ostatnich lat byłem świadkiem, w jaki sposób studenci / kandydaci na coś „zaawansowanego” mają poważne braki w fundamentach. Biorąc pod uwagę to rozumowanie, z jednej strony nie mam skrupułów pytać kandydata o wyższe stanowisko, co to jest wzorzec słuchacza lub jakie są zalety / wady utrzymywania słuchaczy w zestawieniu vs lista kontra zestaw.

Szczery
źródło
Przede wszystkim dziękuję za odpowiedź. Właściwie nie będzie żadnych konkretnych zmian w zadaniach, osobiście uważam, że to, co zrobiłem jako starszy, jak przegląd kodu, mentorzy, recenzje doktora BA i wyrażanie opinii technicznych, projektowanie nowych projektów, to tylko mój tytuł zostałem bez seniora i poprosiłem, aby dostał taki, który odzwierciedli odcinek wypłaty i doprowadzi do takiej rozmowy. A moim celem jest zdecydowanie zostać Architektem Systemu, ponieważ w takiej firmie Saas potrzebują Architekta Systemu, ale nie Eksperta Technicznego
Simon Wang
3

Przykro mi, ale nie sądzę, że pytania, o które pytano, to ciekawostki, które w razie potrzeby powinny być wyszukiwane w Google. Może tak być w przypadku nazwy klasy podczas przetwarzania pliku do przesłania, ale:

  • czym jest JIT: Jest to podstawowa kwestia technologiczna. Starszy programista powinien zdecydowanie wiedzieć, co to oznacza przynajmniej na wysokim poziomie. Na przykład wpływa to na wydajność różnych maszyn wirtualnych i środowisk wykonawczych, dlatego należy przynajmniej wziąć to pod uwagę podczas oceny nowej technologii.
  • jak działa GC: podobny do powyższego. Algorytmy dla GC są bardzo proste i należy przynajmniej znać pokoleniowy GC w porównaniu do mark & ​​sweep, w porównaniu do zliczania referencji i różnych kompromisów
  • różnica między List a Array: to podstawowe pytanie, które spodziewałbym się od młodszego programisty
  • klasa abstrakcyjna i interfejs: tak samo jak powyżej. Nie rozumiem, w jaki sposób można zaprojektować złożony system bez znajomości przynajmniej interfejsów
  • delegowanie i wydarzenie: ponownie, aby zaprojektować solidny i elastyczny system, delegowanie zdarzeń jest jednym z podstawowych wzorców.

Wydaje mi się, że wykonali całkiem niezłą robotę, zadając pytania koncepcyjne, które są istotne dla starszego programisty, bez zagubienia się w ciekawostkach.

Andrea
źródło
+1 - pytania, z którymi ma problem PO, są bardzo „nieokreślonymi” pytaniami. Są one dość wysokie i można je argumentować, że należy je znać, aby właściwie zaprojektować system. Byłoby to jednak możliwe tylko wtedy, gdy niezawodność, łatwość konserwacji i szybkość reakcji będą dotyczyły projektowania i budowy aplikacji.
Dunk
Więc na podstawie odpowiedzi na te pytania, w jaki sposób można zidentyfikować kandydata na wyższego lub średniego szczebla, a nawet po prostu młodszego, ponieważ może on po prostu brak umiejętności, ale jest dobry w zapamiętywaniu i przeczytał książkę o nazwie .Net lista pytań do rozmowy kwalifikacyjnej, w której można rozpoznać umiejętność projektowania, rozwiązać problem na podstawie tych pytań?
Simon Wang
To nie są pytania dotyczące pamięci. Mogę rozpoznać osobę, która mówi o, powiedzmy, wywóz śmieci z pamięci od osoby, która wie, o czym mówi. Teraz mogę się zgodzić, że można chcieć zadać również kilka pytań na temat projektowania (ale czy to nie delegacja wydarzeń idzie w tym kierunku?), Ale nie jest to pretekst, aby źle radzić sobie z wymienionymi tutaj pytaniami.
Andrea
OK, mam pomysł i dziękuję, ale nie sądzę, że źle się spisałem na tych rzeczach, ale martwcie się, jaki jest cel tego, zwłaszcza, że ​​jest to wewnętrzny wywiad promocyjny, to znaczy nie widzę różnicy między tym wywiadem a jeden, kiedy dołączam do firmy, i czuję się rozczarowany ścieżką kariery tutaj
Simon Wang
Przepraszam, jeśli źle zrozumiałem twoje pytanie. Jest wiele osób, które zadają tutaj podobne pytania, głównie po to, aby uzyskać wsparcie, jeśli źle poradziły sobie podczas wywiadów. Jeśli chodzi o to, że wiesz, jak odpowiedzieć na te pytania, ale wolisz raczej zadawać bardziej wyrafinowane pytania dotyczące projektowania oprogramowania, mogę jedynie powiedzieć, że pytania te nie są tak złe i mnemoniczne, jak inni zadawali w wywiadach. Z pewnością można zrobić lepiej, ale są one rozsądne.
Andrea,