Pytanie:
Wywiad Pytanie o znajomość języka programowania
foreverska
2020-02-28 01:31:33 UTC
view on stackexchange narkive permalink

Ostatnio przeprowadziłem wysypkę wywiadów. Mam pulę pytań, na których zazwyczaj się operuję. Jednym z nich było „oceń swoje doświadczenia z językiem X od 1 do 10”. Zastanów się? KAŻDY ocenił siebie na 7 lub 8. Obie osoby bez żadnego interesu i ponad 20 lat doświadczenia powiedzieliby 8. Więc porzuciłem pytanie i spróbowałem przeformułować, ale skończyło się to zagmatwane.

Ja generalnie nadal zadaję pytania, które dają mi wyobrażenie o ich doświadczeniach, ale czy istnieje sposób, aby zadać to pytanie w znaczący sposób, czy też jest to tylko bezwartościowe pytanie?

Zadaj subiektywne pytanie, a otrzymasz subiektywną odpowiedź.
https://softwareengineering.stackexchange.com/a/59480/285
Nawiasem mówiąc, prawdopodobnie powinieneś poczekać dłużej niż godzinę, aby zaakceptować odpowiedź.
@kevin Masz rację.Wycofany.
Nie zrozum mnie źle - dwizum ma świetną odpowiedź i prawdopodobnie zasługuje na pole wyboru (ich odpowiedź jest z pewnością bardziej wyczerpująca niż moja). Ale są ludzie, którzy nie odpowiadają na pytania, które mają już zaakceptowaną odpowiedź - więc jeden sposóbuzyskania szerokiego wachlarza opinii to dać mu kilka dni przed wyborem.
Jaka jest twoja pracaCzego dokładnie szukasz, dlaczego interesują Cię określone umiejętności językowe?Do czego zamierzasz wykorzystać odpowiedzi?
Czy w jakiś sposób mówisz rozmówcom, że chcesz mieć doświadczenie z językiem X?Czy jest na przykład wymienione w opisie stanowiska?Bo gdyby tak było, prawdopodobnie nie aplikowałbym, chyba że moja wiedza byłaby przynajmniej w zakresie 7-8.OTOH Nie zawracałbym sobie głowy aplikowaniem na stanowiska wymagające języków takich jak Haskell, C #, Ruby lub inne, gdzie musiałbym ocenić siebie na 0-1.
Dlaczego nie poprzedzić go słowami „Bjarne Stroustrup, zapytany o swoją znajomość C ++, ocenił na 7. Mając to na uwadze, jak oceniasz swoją znajomość języka X”.Możesz dowiedzieć się, jak zmieniają się języki, a ludzie zwykle nie wiedzą wszystkiego.Jeśli kandydat nie okazuje pokory, powinno to być flagą.
@NDEthos: Nie znam motywacji Bjarne'a do tego, ale rozumiem jego perspektywę.Przez wiele lat byłem programistą w zespole kompilatora Microsoft JScript i członkiem komitetu normalizacyjnego, ale liczba linii produkcyjnego kodu JS, jaki kiedykolwiek napisałem, wynosiła oczywiście zero!Pisałem tylko przypadki testowe w JS.Byłem ekspertem w dziedzinie historii, projektowania i wdrażania tego języka, ale nie byłem ekspertem od tego, jak faktycznie był używany w przemyśle i wydaje mi się, że jest to całkiem istotne.
Dwanaście odpowiedzi:
dwizum
2020-02-28 01:41:39 UTC
view on stackexchange narkive permalink

Zapytałeś,

czy istnieje sposób na zadawanie tego pytania w znaczący sposób, czy też jest to tylko bezsensowne pytanie

Nie Myślę, że istnieje sensowna wersja tego pytania.

Pytania z prostymi, numerycznymi odpowiedziami ( jestem siódemką! ) wydają się atrakcyjne, ponieważ łatwo je zadać, ale nie zawsze mają znaczenie. Ostatecznie główną wadą tego pytania jest to, że jest to samoocena bez związku z rzeczywistymi potrzebami, do których się zatrudniasz. Moje postrzeganie moich umiejętności może nie odpowiadać percepcji moich umiejętności przez ogół społeczeństwa, nawet jeśli zgodzimy się na ogólne kryteria punktacji. I jak odkrywasz, wiele osób oceni się jako „zbyt wysoko” - lub przynajmniej dystrybucja samodzielnie wybranych wyników będzie zbyt wysoka. Po prostu usiądź na ruchliwym rogu ulicy i zapytaj wszystkich, którzy przejeżdżają, „czy jesteś lepszy w prowadzeniu niż przeciętny kierowca?” i założę się, że ponad 50% ludzi uważa, że ​​są lepsi od przeciętnych.

Co ważniejsze, proszenie kogoś o „ocenę ich doświadczenia” ma zasadniczo zerowe znaczenie dla Twoich konkretnych potrzeb. Na przykład zatrudniłem zespół programistów SQL, którym powierzono zadanie zbudowania dużej i skomplikowanej hurtowni danych. Tak, używali SQL jako swojego podstawowego języka, ale mieliśmy dość specyficzne potrzeby dotyczące określonych typów problemów. Zamiast pytać kandydatów o ogólną ocenę SQL, skupiłbym się na tych problemach. Zamiast w ogóle prosić o oceny , skupiłbym się na skłonieniu osoby do opowiedzenia historii. Więc zamiast pytać,

Oceń siebie w SQL

Chciałbym zapytać,

Czy możesz mi opowiedzieć o kiedy pisałeś kod SQL do pracy z dużym blokiem danych? Jak podejmowałeś decyzje o tym, gdzie szukać ulepszeń wydajności?

Lub

Załóżmy, że musisz zbudować model danych, w którym dane transakcji będą ładowane co noc za pośrednictwem zadania wsadowego. Następnie przez cały dzień użytkownicy będą generować raporty dotyczące danych. W jaki sposób decydujesz o odpowiednim poziomie strukturyzacji i przetwarzania do wykonania podczas zadania wsadowego, w porównaniu z wykonywaniem czynności w czasie wykonywania, gdy żądane są raporty?

W ten sposób kandydat faktycznie mówi o ich umiejętnościach i rozmowie o problemach, które rozwiązali - lub o tym, jak podejdą do problemów teoretycznych. Podczas gdy niektórzy ludzie będą próbowali sobie poradzić z tymi pytaniami, dość łatwo jest dostrzec ludzi, którzy nie byliby w stanie dokonać dokładnej samooceny. Zawiera również wiele szczegółów kontekstowych dotyczących procesów myślowych danej osoby. Każdy, kto ma Google, może znaleźć wszelkiego rodzaju materiały referencyjne dotyczące pisania kodu SQL; Nie oczekuję, że programiści zapamiętają wszystko w języku. Zasadniczo nie próbuję znaleźć dosłownie eksperta od SQL. Zamiast tego szukam ludzi, którzy potrafią używać SQL do rozwiązywania konkretnych problemów, o których wiem, że będę mieć w zespole. Nakłonienie kandydata do opowiedzenia historii lub wyjaśnienia procesu myślowego jest o wiele bardziej znaczące dla tego rodzaju oceny niż poproszenie go o samodzielne przypisanie arbitralnej punktacji liczbowej.

: -) Właściwie [93%] (https://en.wikipedia.org/wiki/Illusory_superiority#Driving_ability) ludzi uważa, że są lepszymi od przeciętnych kierowcami.W każdym razie +1 za wyjaśnienie, że takie pytanie jest prawie bezużyteczne do oceny kandydata.
Co gorsza w przypadku samooceny, ludzie, którzy są bardziej kompetentni, będą zwykle bardziej świadomi tego, jak wiele nie wiedzą, i często gorzej oceniają siebie.Pamiętam, że kiedyś dział, w którym pracowałem, przeprowadził eksperyment, w którym poprosili programistów, aby ocenili siebie na podstawie tego, jak bardzo sądzą, że wiedzą o technologiach, z którymi pracujemy.Ci, którzy ocenili siebie najniżej, byli powszechnie znani jako jedni z naszych najlepszych ludzi!Nie można ufać ludziom, że oceniają swoje umiejętności.(patrz także: efekt Dunninga-Krugera)
Ta odpowiedź jest wyraźnie 8. Lepsza niż 7 co najmniej.
W rzeczywistości jest to możliwe dla większości ludzi powyżej średniej w niektórych umiejętnościach!Jest zdecydowanie więcej ludzi, którzy jeżdżą jak śmieć niż zawodowi zawodnicy, a wybór dla osób, które jeżdżą częściej, powoduje, że odsetek ten jest jeszcze wyższy.Błąd samooceny nie jest konieczny do wyjaśnienia wyników.
„wiele osób oceni się zbyt wysoko” - również biorąc pod uwagę, że jest to wywiad, nawet osoby, które * nie * oceniają siebie zbyt wysoko, będą bardziej skłonne do podania wysokiej liczby, ponieważ jak to będzie wyglądać, jeślipowiedzieć „3” lub „4”?Zakłada się, że ankieter poszukuje osób z dużą liczbą.
I tak, @JohnDvorak ma rację.Nie ma nic z natury błędnego w założeniu, że ponad 50% ludzi może być powyżej średniej.Na przykład, biorąc pod uwagę wyniki: 1, 9, 9, 9;średnia wynosi 7, a 75% wyników jest powyżej średniej.
@JonBentley Myślę, że głównym założeniem przykładu jest normalny rozkład kierowców, w którym to przypadku średnio około 50% będzie jeździło lepiej niż średnia.W przypadku dystrybucji innej niż normalna lub podzbioru zbyt małego, aby stał się normalny, mogą się zdarzyć różne rzeczy (z wyjątkiem, jak sądzę, 100% powyżej średniej)
Nadal masz tendencję do samoselekcji, nawet jeśli przyjmiemy rozkład normalny (co jest technicznie niemożliwe, ponieważ rozkład ma dziesięć dyskretnych wartości, podczas gdy rozkład normalny wymaga okna R ^ n).Osoby, które uważają, że się nie kwalifikują, zwykle nie będą się ubiegać.
@IgorG - chociaż można przypuszczać, że próba testowa była reprezentatywna dla całej populacji, nie wydaje się, aby istniała rzeczywista ocena umiejętności.Chociaż jest to niezwykłe, otępiająco nieprawdopodobne, w rzeczywistości jest całkowicie możliwe, że wszyscy ci ludzie faktycznie * byli * lepsi niż przeciętni.Przeszukanie siatki startowej wyścigu motorowego byłoby oczywistym problemem - brak faktycznej oceny respondentów oznacza, że nie masz pojęcia, jak przydatne są twoje wyniki, prawda?W rzeczywistości w streszczeniu badania stwierdzono, że wyniki potwierdziły oczekiwania.Hmmmmmmmmmmm!
Ponieważ zadawano mi już to pytanie i odpowiedziałem 7, powiem ci tak: Oczywiście nie chciałem odpowiadać na małą liczbę.Oczywiście chciałem tej pracy.Więc wiedziałem też, że prawdopodobnie umiem kodować, ale są magicy, którzy wiedzą więcej.Tak więc 9 i 10 prawdopodobnie wykluczają.Kolejne najlepsze to 7 i 8. Chciałem wyglądać skromnie i wybrałem 7.
Jeśli już, wziąłbym to całe dogłębne badanie mojego "jak dobry jesteś kierowcą?"przykład (który celowo nie został dobrze rozwinięty) jako dalsze potwierdzenie bezwartościowości zadawania pytań samooceny!Dziękuję wszystkim za komentarze w tej sprawie.
@Igor Większość ludzi ma więcej niż przeciętną liczbę nóg.(To rzeczywiście prawda.)
@user3067860 no cóż, na pewno się mylisz, jeśli przez średnią rozumiemy medianę.Ale wtedy będziesz miał rację, jeśli miałeś na myśli złośliwość.
Eric Lippert
2020-02-28 03:33:10 UTC
view on stackexchange narkive permalink

Czy istnieje sposób, aby zadać to pytanie w znaczący sposób?

Tak.

Twoja spostrzeżenie, że wszyscy mówią, że 7 lub 8 jest na miejscu . Użyj tego . To, co bym zrobił, gdy zadałem to pytanie w wywiadach, to kontynuacja tego pytania „ z czym miałeś trudności, gdy miałeś 6 lat, ale teraz wydaje mi się to proste?

Prowadzi to do dyskusji z kandydatem na temat tego, gdzie się znajduje, co nadal stanowi dla niego wyzwanie itd.

Pamiętaj, każde pytanie podczas rozmowy kwalifikacyjnej powinno być zaprojektowane tak, aby wywoływać jasny sygnał silny>. Masz rację, krytykując swoje pytanie za słaby sygnał. Zastanów się dokładnie, jaki sygnał chcesz wydobyć z pytania, i wymyśl dalsze działania, które w naturalny sposób doprowadzą do rozmowy, która da ci ten sygnał.

Kiedy sam rozmawiałem o stanowiska, miałem przygotowaną odpowiedź w na wypadek, gdyby zadano mi to pytanie. Gdyby ktoś mi powiedział "jak dobrym programistą C ++ jesteś w skali od 1 do 10?" Powiedziałbym coś w stylu

Oceniłbym siebie na sześć; Mam duże doświadczenie w pisaniu kompilatorów i innych narzędzi językowych w C ++, ze szczególnym uwzględnieniem programowania COM. Mam solidną wiedzę na temat podstaw języka, w tym przetwarzania wstępnego, analizy leksykalnej, gramatyki, semantyki i niezdefiniowanych zachowań. Jednak moja znajomość biblioteki standardowej C ++ jest stosunkowo słaba i nigdy nie napisałem kompilatora C ++. Nie byłem też członkiem komitetu normalizacyjnego C ++. Kiedy pracowałem w firmie Microsoft, na korytarzu miałem ludzi, którzy pracowali nad kompilatorami C ++ i wnieśli znaczący wkład w projekt języka; tych ludzi to dziesiątki, a ja nimi nie jestem; zajęłoby mi wiele lat specjalizacji w C ++, aby stać się dziesiątką takich jak oni.

Ta odpowiedź miała na celu zarówno dokładne podsumowanie moich umiejętności w C ++, jak i dać ankieterowi wiele okazji do powiedzenia „powiedz mi więcej na temat ...” na tematy, które byłam gotowa do obszernego omówienia.

Komentarze nie służą do rozszerzonej dyskusji;ta rozmowa została [przeniesiona do czatu] (https://chat.stackexchange.com/rooms/108026/discussion-on-answer-by-eric-lippert-interview-question-about-familiarity-with-a).
Kevin
2020-02-28 02:34:11 UTC
view on stackexchange narkive permalink

Pozwól, że dam ci osobistą odpowiedź na to.

„Kevin, jak dobry jesteś w C # / .NET, od 1 do 10?”

” 8. " To znaczy tak, jestem dobry z językiem. Ale wiem, że nie zrobiłem zbyt wiele rzeczy z Moq i jestem trochę słaby z testami jednostkowymi i TDD. Poza tym właściwie nie używałem Resharper - czy to nie jest krytyczna część dobrego standardowego kodu w .NET? Nie wiem nawet wystarczająco, aby na to odpowiedzieć. Tak, trochę zrobiłem z generykami, ale jest mnóstwo ludzi, którzy to zrobili i są w stanie używać go znacznie bardziej intuicyjnie. Poza tym wiele rzeczy, które robię, jest bardziej ezoterycznych, nie dlatego, że całkowicie to rozumiem - to tylko ogólna wiedza o tym, co powiedziała mi odpowiedź StackOverflow.com. „Tak, zdecydowanie 8”.

Posadź mnie obok kolejnej „8”, a ja powiem: „Czekaj, dlaczego robisz to publiczną metodą? Nie powinieneś uzyskiwać dostępu do niej poza zajęciami na A dlaczego nie usunąć tego efektu ubocznego, niepotrzebnie zmieniając właściwość klasy - usunąć efekt uboczny, uczynić z niej czystą funkcję i zamienić ją na prywatną statyczną? Ponadto nie powinieneś tworzyć dwóch wersji ta metoda - różnią się tylko tym, na której klasie pochodnej działają. Utwórz połączoną klasę, która jest albo w klasie bazowej, albo napisz metodę rozszerzającą, która może operować na klasie bazowej. DRY - nie powtarzaj się. "

Czy widzisz problem?

Kiedy zapytałeś mnie , jaka jest moja ocena? Pomyślałem o wszystkich rzeczach, których jestem świadomy, że nie jestem ekspertem, w czym jestem słaby. Moq, Resharper, TDD, itd. Więc wiem nie mogę dać sobie 9 czy 10, bo czy „9” nie wiedziałoby tego typu rzeczy? Ale zapytaj drugą osobę, jaka jest jej ranga? Nie są świadomi tego, czego nie wiedzą. Mają gałęzie IF, pętle FOR i mogą intuicyjnie używać List<>, kochanie! 8 na pewno!

Zasadniczo dajesz się oszukać zarówno efektowi Dunninga-Krugera, jak i syndromowi oszusta. Eksperci wiedzą, ile nie wiedzą; mniej doświadczeni nie wiedzą, więc myślą, że wiedzą więcej niż wiedzą.

Edycja:

Tak więc ta odpowiedź jest częścią twojego pytania - to bum pytanie? Tak, to jest. Więc co zamiast tego robisz?

Oddzielasz „8”, które wiedzą, o czym mówią, od „ósemek”, które nie wiedzą. Pojawi się kilka pytań, na które otrzymasz różne odpowiedzi między tymi dwiema grupami. Kiedy wymyślałem pytania na rozmowę kwalifikacyjną dla dwóch ostatnich pracowników, zdecydowałem się stworzyć dwa problemy programistyczne - jeden stosunkowo prosty, drugi nieco trudniejszy i nieco bardziej otwarty (było kilka ścieżek do rozwiązania, a część problem polegał na tym, czy wnioskodawca wiedział wystarczająco dużo, aby wyjaśnić sytuację przed napisaniem kodu) oraz trzeci problem z weryfikacją kodu, który brzmiał: „Oto zły kod - co w nim jest nie tak?”

Ale ostatecznie , o to chodzi w przypadku wszystkich pytań technicznych / tablic / itp.: czy kandydat faktycznie wie, co robi?

Twierdzę, że większość rzeczy, o których wspominasz w swoim akapicie „Usiądź obok innego 8”, to bardziej ogólne kwestie OOP niż konkretnie C #.Oczywiście _ są_ bardzo przydatne w C # i trudno jest być dobrym w C # ze słabym zrozumieniem zasad OOP, ale A! = B. Powtórzę: _ ogólnie_ zgadzam się, że ta odpowiedź brzmi „Ale czym dokładnie jest 8?Albo 10? "
Mars
2020-02-28 12:45:55 UTC
view on stackexchange narkive permalink

Domyślam się, że szukasz sposobu, w jaki możesz łatwo filtrować kandydatów, nie znając ich poziomu (możesz to zrobić później w trakcie rozmowy kwalifikacyjnej). W takim przypadku fakt, że początkujący i eksperci oceniają siebie tak samo, stanowi problem.

Proponuję głębsze zagłębienie się w język - tutaj dowiesz się, kto tak naprawdę wie, czym są o których mowa.

Np .:

  1. Nigdy nie słyszałem o
  2. Widziano, ale nigdy nie pisano
  3. Napisane, ale nieznane
  4. Pisemne i wygodne
  5. Napisane i potrafiące dogłębnie wyjaśnić.

Oceń swoje doświadczenia z językiem C # następującymi punktami:
Generics: ① ② ③ ④ ⑤
LINQ: ① ② ③ ④ ⑤
Dziedziczenie: ① ② ③ ④ ⑤
Wydarzenia i delegaci: ① ② ③ ④ ⑤
Itd.

Przekonasz się, że wyniki są nadal generalnie wysokie , ale powinieneś również zacząć dostrzegać oddzielenie oparte na latach doświadczenia. W ten sposób faktycznie będziesz mógł wcześniej odfiltrować swoich kandydatów.

Ale oczywiście, napisanie porządnej ankiety, takiej jak ta, jest żmudne i na początek wymagałoby kogoś z solidną wiedzą.

Jeśli potrzebujesz tylko systemu z wynikiem pozytywnym, możesz skorzystać z testu kodowania online. Myślę, że Linkedin ma nawet swój własny system „certyfikacji”

flexi
2020-02-28 03:51:51 UTC
view on stackexchange narkive permalink

Kiedy przeprowadzam wywiady z personelem technicznym, nigdy nie zadaję takich pytań, ponieważ jak się przekonałeś, są one bez znaczenia.

Jak przeformułujesz to pytanie?

„więc opowiedz mi o swoich doświadczeniach z językiem x”

Następnie pozwól kandydatowi mówić bez przerywania mu.

Na podstawie ich odpowiedzi powinieneś być w stanie określić, jakie jest jego doświadczenie i możesz zadawać dalsze pytania dotyczące rzeczy, o których wspominają.

Kluczem jest umożliwienie im większości mówienia. Jeśli nie mają wiele do powiedzenia, nie mają dużego doświadczenia.

Jared Smith
2020-02-28 21:23:56 UTC
view on stackexchange narkive permalink

Przykro mi, że muszę dodać kolejną odpowiedź, ale jest to ważne i nikt jeszcze o tym nie poruszył.

Nie zastanawiasz się nad pytaniem z perspektywy rozmówcy .

Wywiady, szczególnie z kandydatami, którzy przeszli wiele formalnej edukacji, to wielka gra polegająca na pytaniu „jakiej odpowiedzi chcą”, czyli odgadnąć hasło nauczyciela aka zhakuj test.

W ten sposób kandydat przechodzi przez mentalny proces „cóż, jeśli powiem, że jestem słaby, nie zatrudnią mnie, ale jeśli ja powiedz, że jestem niesamowity, poproszą mnie o udowodnienie tego, ale nie mogę, więc mam 7 cali. Jeśli naprawdę mają zaufanie do swoich umiejętności, mogą powiedzieć „8”.

Nie chodzi o to, że te liczby są dokładne , chodzi o to, że można je obronić : kandydat prawdopodobnie wie , że tak naprawdę nie jest siódemką, ale po naciśnięciu wydaje się, że wie wystarczająco dużo, aby obronić to stwierdzenie. Ale teraz rozmowa ma charakter filozoficzny i dotyczy znaczenia przypisywanego punktowi na skali.

Kolejną siłą napędową tutaj, i wspominam o szkolnictwie nie bez powodu: w szkole 7-8 / 10 średnia . Możemy cały dzień narzekać na inflację, ale wszyscy wiemy, że to coś. Trenowaliśmy ostatnie 2-3 pokolenia, aby myśleć w ten sposób. Ktoś dzisiaj w wieku poniżej 45 lat (pełne ujawnienie, należę do grupy < 45) prawdopodobnie jednocześnie powiedziałby, że ma 7 lat i że jest przeciętnym programistą. Dla tej osoby oznaczają one to samo . Nie ma mowy, żeby przeciętny programista ocenił się na 5/10.

Eric Lippert może uciec od powiedzenia „Jestem 6” z racji bycia Ericem Lippertem: jest już znaną liczbą i ma jego historię osiągnięć i CV do wykorzystania (przepraszam za riffowanie twojej odpowiedzi, Eric). Nigdy nie będzie siedział na wywiadzie i był wystawiany na zimną lekturę. Ale śmiertelnicy nie będą ryzykować i będą grali bezpiecznie, zakładając, że nie biorą pod uwagę tylko średniej 7 w pierwszej kolejności.

Dlatego zalecam porzucenie pytania: może to być możliwe do odzyskania, ale pierwszą myślą na każde pytanie podczas rozmowy kwalifikacyjnej powinno być „w jaki sposób zamierzają (błędnie) to zinterpretować”, a to pytanie nie spełnia podstawowego psychologicznego testu psychologicznego.

Czy rzeczywiście kogoś cytowałeś, czy chciałeś podkreślić to zdanie?
Świetnie mówisz o znaczeniu samej skali.Jeśli pomyślimy o skali tak, jak sugerujesz - gdybym dostał rozsądny quiz na ten temat, czy uzyskałbym około 80% pytań, prawda?- wtedy warto powiedzieć 7 lub 8. Jeśli myślimy o skali jako logarytmicznej - powiedzmy, dziesiątki to mniej więcej jedna osoba na świecie, dziewiątki to dziesięć osób na świecie, ósemki to 100 osób na świecie itak dalej, wtedy powiedzenie „8” jest zupełnie inne.Podobnie, jeśli myślimy o 5 jako o średniej, o 6 jako o jednym odchyleniu standardowym od średniej i tak dalej.
Doskonała uwaga, czytałem to myślenie o 5 jako średniej lub może nieco powyżej (10 jest w zasadzie wykluczone).
@EricLippert dokładnie.Od razu pomyślałem, że 7/10 == 70% == C == średnia (i trzeba było trochę introspekcji, aby rzeczywiście wydobyć ten łańcuch skojarzeń, aby dowiedzieć się, dlaczego 7 wydaje się przeciętna), ale każda z pozostałych dwóch interpretacji, które zasugerowałeścałkowicie rozsądne.Co prawdopodobnie jest gwoździem do trumny w przypadku tego konkretnego pytania z wywiadu.
Podświetl @Llewellyn.Niekoniecznie nikogo cytowałem.
ZOMVID-20
2020-02-28 18:05:27 UTC
view on stackexchange narkive permalink

Każda samoocena będzie miała negatywny wpływ na fakt, że możliwe jest jedynie porównanie czegoś, co znasz , z tym, co znasz. Ponieważ prawdopodobnie nie znają żadnego języka z firmą 10, nie mogą porównać z nieznanym. Najbardziej znanym tego przykładem jest efekt Dunninga-Kruegera.

Zamiast tego poproś ich, aby uszeregowali swoją znajomość wielu języków od najlepszego do najgorszego. To da ci przegląd ich wiedzy.

Aby uzyskać absolutny poziom, zapytaj, czy potrafią wykonać określone zadanie . Opracuj na tym etapie: oszacuj czas, zapytaj, jak dokładnie podeszli do zadania ostatnim razem i dowiedz się, co zrobiliby inaczej z twoim zadaniem.

Np. „Potrzebujemy interfejsu API REST, który otrzymuje JSON, który wygląda tak i przechowuje jego zawartość w Oracle XE. Ile dni zwykle zajmuje Ci coś takiego?

Następnie zapytaj o szczegóły: z jakich frameworków i bibliotek będą korzystać , jak podejdą do tego i tamtego.

Dobry programista (średni + poziom) będzie miał własne pytania, np. do jakiego logowania ma się zgłaszać, czy usługa ma być konteneryzowana itd. tak nie jest, prawdopodobnie nie jest to 9, ale możesz samodzielnie zadać pytania, aby sprawdzić, czy są zaznajomieni z tymi aspektami.

Najlepiej, jeśli jest to zadanie, które zostało wykonane wcześniej w swojej firmie, więc masz podstawę do porównania.

Xophmeister
2020-02-28 17:04:18 UTC
view on stackexchange narkive permalink

Zamiast prosić ich o samoocenę, co wątpię, czy ktokolwiek mógłby zrobić całkowicie obiektywnie - zwłaszcza w sytuacji, w której chcą się sprzedać - dlaczego nie skłonić kandydatów do wykazania się wiedzą?

powiedz, że pytasz o biegłość w Pythonie; trzymanie się dość podstawowej mechaniki, aby objąć większość baz. Załóżmy na przykład, że koncentrujesz się na OOP: zacznij od pytania średniego poziomu, które sprawdza ich wiedzę na temat, powiedzmy, MRO. Następnie możesz przejść na wyższy poziom (metaklasy itp.) Lub w dół (dziedziczenie a kompozycja itp.), W zależności od odpowiedzi. W ten sposób ustalisz dla siebie ich biegłość - w obszarze, który jest dla Ciebie ważny (w tym przypadku OOP w Pythonie), podczas kontrolowania narracji - poprzez dowody, a nie subiektywność.

Philipp
2020-02-28 23:59:04 UTC
view on stackexchange narkive permalink

Problem z tym pytaniem polega na tym, że nie ma ono właściwej definicji tego, czym jest „10”. Więc wszyscy zinterpretują to tak, jak chcą i udzielą odpowiedzi, która ich zdaniem jest najwyższą oceną, z jaką mogą ujść na sucho, bez zabrzmi aroganckiego.

Więc możesz uzyskać znacznie bardziej znaczące wyniki, jeśli oszacujesz, jakie byłyby różne oceny mean:

Jak oceniasz swoje doświadczenia z językiem X od 1 do 10, gdzie 1 to „Raz napisałem program Hello World”, 5 to „Znam wszystkie jego funkcje”, a 10 bycie „Napisałem o tym książkę”?

Ta odpowiedź ilustruje wartość pisania książek!Znam kilku autorów, którzy napisali książki nie dlatego, że otrzymują duże tantiemy - tantiemy za książki techniczne są w najlepszym przypadku w dużej mierze dochodem z hobby - ale dlatego, że chcą wykorzystać „napisałem książkę na ten temat” w celu lepszego doradztwa.
Dragonel
2020-02-29 00:03:18 UTC
view on stackexchange narkive permalink

Zgadzam się z większością innych komentarzy dotyczących niewskazanego przyjmowania samych ocen liczbowych, ale myślę, że jest jeszcze jeden aspekt, który został poruszony tylko w odpowiedzi @Mars. Prosisz ich o ogólną ocenę w dużym obszarze „język X”. W tych częściach języka, których rozmówca używa na co dzień, może to być 9 (lub lepiej, ale zawsze jest coś, czego musisz się nauczyć). Jeśli chodzi o to, jak używać go do tworzenia (lub rozmawiania) z interfejsami użytkownika, mogą to być tylko 6, a do pracy z bazami danych mogą być 3. Mogą istnieć inne obszary, o których nawet nie myślą. Jak więc rozmówca zgrupuje je wszystkie w jedną liczbę? Będą ich uśredniać (z pewną tendencją do wysokich liczb, tak jakby sądzili, że warto ubiegać się o pracę, miejmy nadzieję, że będzie w ich podstawowym obszarze). Jeszcze zanim zmienisz „oceń swoje doświadczenie” na „opowiedz mi o swoich doświadczeniach z”, zatrzymaj się i zastanów się, o jakich obszarach umiejętności naprawdę chcesz się dowiedzieć i omów je bardziej szczegółowo.

computercarguy
2020-02-29 00:39:18 UTC
view on stackexchange narkive permalink

Niedawno ankieter zadawał tego typu pytanie, więc wyjaśniłem, jak postrzegam system ocen jako system wykładniczy, a nie skalę liniową.

Szczyt skali „10” to twórcy, którzy napisali język, bibliotekę lub technologię. „9” to ktoś z mniej więcej absolutnym opanowaniem tej technologii, na przykład ktoś z ponad 20-letnim doświadczeniem i zajmujący się „wszystkim”.

„8” to ktoś, kto jest co najmniej starszym stanowisko z dużym doświadczeniem, prawdopodobnie sporą ilością formalnego szkolenia i pracuje nad tym w swoim czasie. „7” oznaczałoby programistę na średnim i wysokim poziomie, który zajmował się dość szerokim zakresem problemów przez kilka lat.

„6” oznaczałoby przejście do poziomu programisty na poziomie Junior, być może od razu z college'u, który dość dużo rozumie, ale tak naprawdę nie zrobił nic profesjonalnie.

Poniżej omawiamy bardziej podstawowe rozumienie części języków itp. Czy osoba rozumie pojęcia pętli, kolekcji , obiekty, interfejsy API itp.? Całkowicie początkujący (bez żadnej odpowiedniej lub pokrewnej wiedzy) byłby w rzeczywistości zerowym i powinien być w stanie przejść do około „3” w ciągu roku, a kolejne 2-3 lata to „5” lub „6”. Ktoś, kto korzysta z podobnej technologii, może zostać „6” w ciągu miesiąca i „8” w ciągu roku lub mniej, na przykład gdyby przełączył się między Javą a C # plus miał poziom „8” w języku uzupełniającym.

Widać więc, że mój pogląd jest zupełnie inny niż to, co widzą inni na skali. Postrzegałbym siebie jako „7” w mojej obecnej roli, ale rozmawiałem z niektórymi ludźmi, którzy pomyśleliby, że jestem „9”, a inni pomyśleliby, że jestem „5” ze względu na względną skalę porównując mnie ze sobą.

Ponieważ jest to tak subiektywne, definicja skali różni się tak bardzo, a masz efekt Dunninga-Krugera (jak wspomniano w innej odpowiedzi), nigdy nie uzyskam dobrej odpowiedzi na tego typu pytanie.

Naprawdę musisz zadawać pytania o to, jakie rzeczy zrobili wcześniej i jak rozwiązali problemy. Następnie zapytaj, dlaczego nie wybrali innej metody.

Ty: Więc rozwiązałeś ten problem, używając tablicy, ale dlaczego nie listy?
Oni: Co to jest lista? {Na pewno nie 7-8, o których mówili.}
Oni: Cóż, nie potrzebowałem wszystkich dodatkowych metod i funkcji, które wymagałyby dodatkowej pamięci i mocy obliczeniowej. Potrzebowałem tylko czegoś prostego do łatwego wyciągania fragmentów danych. {Prawdopodobnie 7-8, o których mówili.}

To nadal jest subiektywne, ale teraz to Ty jesteś subiektywny, a nie kandydat. Dopóki możesz kontrolować sposób oceny rzeczy, będziesz mieć lepszy sposób na poznanie tego, co naprawdę chcesz wiedzieć. Jasne, ktoś może być w stanie zbudować szybkie sortowanie z pamięci, ale czy może zbudować złożoną strukturę danych i wykonać iterację szybkiego sortowania po ich kolekcji?

Może nie potrzebujesz „8” i są skłonni wyszkolić „6”. Sprowadza się to do zrozumienia własnych potrzeb i pragnień oraz znalezienia odpowiedniego kandydata, a także dostosowania pytań do tych potrzeb. Standardowy test do tego nie zadziała. „9” może przez to przejść i uznać to za stratę czasu, podczas gdy „6” walczy i poddaje się. To samo dotyczy standardowego wywiadu. Jeśli „9” nie jest kwestionowane w pytaniach podczas rozmowy kwalifikacyjnej, mogą uważać, że nie warto go zatrudniać, ponieważ praca nie będzie dla nich wyzwaniem. „Szóstka”, która ma trudności z udzieleniem odpowiedzi podczas rozmowy kwalifikacyjnej, może również tam poddać się, ponieważ myśli, że praca będzie wyglądać tak samo. Niewiele osób chce mieć pracę, w której są wykorzystywani tylko do 50% ich wysiłku i wiedzy. Ludzie nie chcą też poświęcać 120% swojego czasu, energii i możliwości umysłowych na uczenie się nowych rzeczy do pracy.

Mówię więc, że rozmowa kwalifikacyjna musi być skierowana do kandydata, a nie tylko, że masz listę pytań, które zadajesz wszystkim. Możesz mieć listę, ale nie zadawaj automatycznie każdego pytania każdej osobie. Wygląda na to, że już to masz, więc zatrzymam się tutaj, ponieważ i tak myślę, że to odbiega od twojego pierwotnego pytania.

Kemal Cengiz
2020-02-28 23:22:24 UTC
view on stackexchange narkive permalink

Najważniejsze jest to, jak długo używali języka w środowisku produkcyjnym. Dlatego możesz zapytać:

Czy kiedykolwiek tworzyłeś jakiś projekt, który działał na produkcji w języku programowania X? Jeśli tak, jak długo?

Następnie sam zgadnij liczbę na podstawie tego, jak długo używał języka podczas produkcji.



To pytanie i odpowiedź zostało automatycznie przetłumaczone z języka angielskiego.Oryginalna treść jest dostępna na stackexchange, za co dziękujemy za licencję cc by-sa 4.0, w ramach której jest rozpowszechniana.
Loading...