Pytanie o wywiad, co chcą osiągnąć?

Byłem dziś na technicznej rozmowie kwalifikacyjnej i nadszedł czas, aby dać mi kilka ćwiczeń programistycznych. W końcu doszedłem do ostatniego pytania:

Podane liczby:

116 104 105 115 32 105 115 32 99 111 114 114 101 99 ?

Jaka jest następna liczba?

Aby naprawdę zrozumieć mój sposób myślenia, zachęcam do zaprzestania czytania i naprawdę spróbować dowiedzieć się, jaki jest następny numer. Poświęć kilka minut, a jeśli nadal nie możesz tego rozgryźć, przeczytaj na

Najpierw spędziłem 5 minut szukając wzoru, przy którym Nie znalazłem żadnego. Poczułem się głupio. Facet gapił się na mnie i czekał na odpowiedź. Czułam się trochę głupio. Więc dostałem wskazówkę. This is not a mathematical question

Spędziłam kolejne 5 minut, a on powiedział.

Potem kolejne 5 minut, a on powiedział He believed only programmers would understand this

Jeszcze 5 minut I jeszcze nie zrozumiałam, jaka była ostatnia liczba. Dał ostatnią wskazówkę, która pozwoliła mi ją rozwiązać i była to Think of the numbers as replacment for some sort of Alphabet.

Teraz zachęcam do wymyślenia odpowiedzi, jednak ja też chcę wiedzieć od ludzi, po co w ogóle miałby zadawać takie pytanie? Co to ma wspólnego z programowaniem i co osiąga widząc mnie używającego 20 minut w rozpaczliwej agonii?

Author: IAdapter, 2010-09-06

23 answers

Pierwsza odpowiedź: 116 - jest to forma dziesiętna liter ASCII "to jest correc", więc następna jest litera 't'.

Ale, gdy rozgryzłem (biorąc pod uwagę twoje wskazówki) wzór, to dodam kilka Komentarzy:

    Prawdopodobnie chciał zobaczyć, jak zaatakowałeś trudny, nawet mglisty problem.
  • Jeśli naprawdę siedział cicho przez 5 minut na raz, to musi popracować nad swoim stylem rozmowy, choćby po to, aby zachęcić Cię dorozmowy .

Że powiedział:

  • Czy myślałeś na głos i rozmawiałeś przez różne podejścia, których używałeś?
  • czy zadawałeś pytania dotyczące domeny problemowej?

Nawiasem mówiąc, źle zapamiętałem "a" jako 96, a nie 97, więc przegapiłbym problem. / Align = "left" /

Musisz przekazać swoje procesy myślowe, a nie tylko wymyślić odpowiedź. Już dwa razy miałem problemy, których nie spodziewali się rozwiązać, zarówno z zamiarem zobaczenia mojego podejścia do ich rozwiązania.

(nawiasem mówiąc, otrzymałem oferty z obu wywiadów, ponieważ omawiałem problemy - mimo że nie mogłem ich rozwiązać.)

 36
Author: NVRAM,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-06 18:39:35

Każdy, kto zapisuje wartości ASCII w dziesiętnych, jest szalony. Sekwencja wyglądałaby bardziej znajomo, gdyby była w hex.

 28
Author: Ether,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-06 18:27:59

Twoje pytanie przypomniało mi kampanię reklamową EA kilka lat temu:

alt text

 22
Author: Dirk Vollmar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-06 23:01:53

Mam autyzm. Co dziwne, po pierwszym spojrzeniu powiedział mi, że to nie jest wzór liczbowy, następną rzeczą, którą zauważyłem, to 32 - które tak się składa, że wiem, że są spacjami. Stamtąd dostałem to / jest dość szybko (mniej niż minutę). Jest to dość szybkie do sprawdzenia, ponieważ kody I-H I S-T są kolejne, nie znałem kodu ascii dla żadnego z nich, ale jak tylko potwierdziłem zamontowaną lukę I-S wiedziałem, że jestem na dobrej drodze.

Wtedy RR jest szybki - jeden znak poniżej S.

Więc-tak, dostałem go prawie natychmiast. Ale, jak mówiłem, jestem autystyczny. Jest mnóstwo normalnych rzeczy, których nie mogę zrobić, ale dopasowywanie wzorów jest czymś, co robię kompulsywnie. Podejrzewam, że to byłoby nieprzydatne w wywiadzie.

Wiem, że to wygląda na straszne pytanie, ponieważ testuje twoje umiejętności łamania kodu / dopasowywania wzorców, a nie umiejętności rozwiązywania problemów, ale podejrzewam, że to nie jest intencja.

Kiedy zatrudniałem ludzi, używałem podobne ćwiczenie, w którym użyto paczki kart z kolorowymi kształtami i wymagało od ludzi sortowania kart w stosy, a na podstawie moich odpowiedzi "pasuje ""nie pasuje" - wypracowanie zasad "gry".

Celem ćwiczenia nie było sprawdzenie ich umiejętności znajdowania wzorców, ale uzyskanie poczucia emocjonalnej reakcji na doświadczenie próby rozwiązania trudnego problemu, w którym najczęściej będą biegać po zaułkach. W ćwiczeniach z kartami karty były zawsze prezentowane w rozkaz, który skłoniłby rozmówcę do myślenia, że go rozwiązał, tylko po to, aby dowiedzieć się, że nie rozwiązał, trzy razy.

Dla ambitnej roli R & D, chcesz zatrudnić ludzi, dla których bardziej skomplikowana przestrzeń problemowa staje się bardziej zainteresowany i podekscytowany czują. Dla mniej wymagającej roli chcesz kogoś, kto wolałby, aby przestrzeń problemu była stabilna - np. kogoś do pisania zapytań do dużej bazy danych, gdzie w ogóle nie chcemy zmieniać systemu.

To w sumie Ładna przydatne ćwiczenie sortowania dla dopasowania kandydatów do ról.

 19
Author: Stray,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-06 20:39:24

Trochę mi to zajęło i nie potrzebowałem podpowiedzi, ale 116 to właściwa odpowiedź. Prezentów dla mnie było nie tyle 32, ale sposób, w jaki liczby powtarzały się we wzorze. Nie było wyraźnej logiki matematycznej, ale coś jeszcze o wzorze kliknęło dla mnie i po prostu go dostałem.

Kiedyś, dawno temu, udało mi się złamać grę (Koronis Rift dla tych, którym zależy, i nigdy nie wgrałem go do BBS). Złamałem go nie dlatego, że chciałem go dokładnie skopiować. To dlatego, że zapisywane gry na tym samym dysku, z którego uciekła gra, i to naprawdę mnie martwiło. Raz Ja pękać ono, i być całkiem dumny z sam ponieważ Odbitkowy Ochrona robić coś dosyć trudny. Więc chciałem umieścić mój znak na ekranie ładowania.

Nie wiedziałem, gdzie jest Ekran ładowania. Użyłem disassemblera, aby uruchomić Ładowanie rzeczy, ale nigdy nie dotarłem do miejsca, z którego ładował się ekran. Ale często przeglądałem dysk i była sekwencja bajtów, które po prostu wyglądały jak surowe dane do zdjęcia. Wiedziałem, jak duży musi być obraz, jeśli są to surowe dane, więc znalazłem początek i koniec sekwencji, włożyłem go do pliku i załadowałem plik w edytorze obrazów. Miałem rację.

Ktoś zapytał mnie "skąd wiedziałeś, że to zdjęcie?". Nie mogłem się wytłumaczyć. Po prostu wyglądał jak jeden.

To nie jest talent/umiejętność, której bym się spodziewał u dobrego programisty. I znajduję pytania wywiadu, które są prawie wyraźnie zaprojektowane dla kandydat, by nie doprowadzać ich do wściekłości.

Tak, jest coś w tym, jak rozwiązuje się problem kandydata. Ale jeśli mam to przetestować, to przynajmniej wymyślę problem z zabawkami, który jest związany z pracą, którą chcę, aby kandydat wykonywał.

Jedyny sposób, w jaki zadałbym to pytanie, to gdybym szukał inżyniera odwrotnego lub kryptografa. Umiejętność dostrzegania takich wzorców i zgadywania, co oznaczają, byłaby bardzo cenna umiejętności dla tych dwóch ról. Ale nie dla ogólnego programisty.

Myślę, że w niektórych rozmówcach jest pewien sadyzm. Pewna radość z widzenia kandydata wijącego się. Mogą mówić o patrzeniu na zdolność rozwiązywania problemów kandydata, ale myślę, że naprawdę chcą cieszyć się uczuciem (niekoniecznie aktualnością) bycia mądrzejszym niż kandydat.

 17
Author: Omnifarious,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-06 20:09:15

Cóż, myślę, że mam odpowiedź i dostałem ją dość szybko - choć z pomocą materiału referencyjnego.

To brzmi jak trochę strata czasu w wywiadzie. Na pewno nie o coś bym prosił. Zgadzam się, że to coś, co prawdopodobnie tylko programista "dostanie" - ale to nie wskazuje nic znaczącego na temat umiejętności tego programisty.

 11
Author: Jon Skeet,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-06 18:22:32

Jest następna liczba 116?

Mimo to, "Shir ir correct" też nie ma sensu.

Edit:

Oops!

 7
Author: Frederick The Fool,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-06 18:28:04

Zobaczyłem 32 s I to natychmiast mnie zaskoczyło.

Można argumentować, że chodzi o to, aby zobaczyć, jak obmacujesz drogę wokół pozornie nie do pokonania przeszkody. Zacząłeś brać skończone różnice, szukając ciągu arytmetycznego lub wielomianowego? Czy po prostu zmrużyłaś oczy, a potem wzruszyłaś ramionami i poddałaś się?

Moim zdaniem to nadal okropne pytanie.
 4
Author: user168715,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-06 18:24:04

ASCII - > int ? Rozmówca jest szalony...

Powinno być 116.

Tłumaczenie: this is correc

T zaginął. t jest 116 w tabeli ascii.

Http://www.cs.utk.edu / ~pham/ascii.html

 3
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-06 18:21:17

Python:

>>> ''.join(map(lambda x:chr(int(x)),'116 104 105 115 32 105 115 32 99 111 114 114 101 99'.split()))
'this is correc'

Liczby wydają się być kodami ASCII. To zdecydowanie nie jest coś, o co prosiłbym w wywiadzie, ponieważ nie oczekuję, że ktoś zna kody ASCII w dziesiętnym w wywiadzie. Hex jest nieco inny (można oczekiwać, że ludzie wiedzą, że %20 to spacja), ale mimo to.

 3
Author: tc.,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-06 18:25:37

Jego kody ascii. Następna litera to t. Może potrzebować twojej wiedzy o kodach ascii do pracy, a także nieodłącznej zdolności wykrywania wzorców.

 2
Author: Richard J. Ross III,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-06 18:23:16

Myślę, że to po to, aby zobaczyć, jak rozwiązać problem.

Gdybyś szybko to rozwiązał (podejrzewam, że 32 byłoby rozdaniem dla tych, którzy wchłonęli niektóre kody ASCII) prawdopodobnie dostałbyś inny podobny typ - i tak dalej - dopóki nie znajdziesz się poza swoją "strefą komfortu".

Jako rozmówca, te pytania mogą być sposobem wykrycia, że praca nie jest dla Ciebie!

 2
Author: martin clayton,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-06 18:26:26

Jest to kod ASCII, rozwiązaniem jest "t "(116). Powinniśmy jednak zwrócić uwagę na jego pomoc, bo pewnie je zaplanował.

"to nie jest pytanie matematyczne" Oczywiście, że tak, musimy zinterpretować liczby jako znaki i znaleźć numer, który może być użyty do wypełnienia pustego znaku, więc na końcu zadania Można mu powiedzieć, że jest to bardzo matematyczne, ponieważ trzeba było wypełnić wzór za pomocą funkcji.

" sekwencja jest ważna" Tak., 32 pomaga zrozumieć, że mówi o postaciach.

" wierzył, że zrozumieją to tylko programiści" Niektórzy nie-Programiści również to rozumieją, ale głównie Programiści to rozumieją. Starał się wskazać, że można spotkać te liczby podczas pracy nad kodami programu / debugowaniem.

"pomyśl o liczbach jako o zastępstwie jakiegoś alfabetu." Na pewno znałeś odpowiedź.

Chciał sprawdzić Twoją pomysłowość i siłę woli. Spotkałem się z takimi pytania w testach IQ (OK, w testach IQ nie odwoływali się do znaków ASCII, bo większość ludzi nie słyszała o ASCII).

EDIT:

Z pewnością to pytanie było wcześniej zaplanowane, wszystkie pomoc były dalszymi wskazówkami i byli zainteresowani, ile czasu i ile wskazówek będzie potrzebnych do rozszyfrowania sekwencji. Jest to jednak kwestia matematyczna.

 2
Author: Lajos Arpad,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-04-30 12:51:04

Następna liczba to 116.

Jest to prosty zbiór liczb ASCII, oznaczający ciąg "this is correc?". Trochę się przejrzałem, a podpowiedź była w zakresie liczb i fakt, że pojawia się 32 (spacja).

Czy powinieneś znać tabelę ASCII na pamięć? To nie ma dla mnie sensu jako pytanie o wywiad-być może chciał, abyś zidentyfikował to jako sekwencję ASCII.

 1
Author: Oded,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-06 18:24:08

Dzięki za podpowiedź z alfabetem -- to chyba jest kod ASCII:

numbers = [116,104,105,115,32,105,115,32,99,111,114,114,101,99]

for n in numbers:
  print "%c"%n,

Daje:

t h i s   i s   c o r r e c

Ale bez dostępu do komputera nie rozgryzłbym tekstu tak szybko. I spędziłbym też dość niewygodne pięć minut...

 1
Author: Andre Holzner,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-06 18:24:41

Wiesz, to przypomina midużo egzaminów z matematyki/logiki, które zdawałem w szkole, gdzie pracowałem i pracowałem nad tym, i w końcu doszedłem do tego, co uważałem za odpowiedź, której szukali {6]}... tylko po to, aby poczuć ogromne poczucie niezadowolenia, ponieważ pytanie w ogóle nie miało właściwej odpowiedzi . Po prostu miała odpowiedź, która najwyraźniej miała mieć rację.

Wiem, że to nie ma znaczenia dla tego , o co prosisz. tak, jak inni. powiedziałem, ważną rzeczą był z pewnością twój proces myślowy podczas próby rozwiązania problemu (i mówienie tego, co myślisz na głos, prawdopodobnie byłoby najlepszą strategią w tym scenariuszu) - ale szczerze mówiąc, gdybym był tobą, nawet jeśli / Kiedy zrobił rozgryźć to, nie byłbym w stanie oprzeć się pokusie, aby powiedzieć: {]} Rozumiem, że pewnie chcesz, żebym powiedział 116, ale dlaczego? Dlaczego łańcuch This is correc logicznie musi kończyć się t?" Pomyśl o tym. Na pytanie brzmi: "jaki jest następny numer?"prawda? Nie: "What is the next number, given that it is that last number"; po prostu: "What' s next?"To jest tak otwarte, że nie można na to odpowiedzieć. Zastanawiam się, czy rozmówca zgodziłby się z tą logiką, czy po prostu się zdenerwował. Prawdopodobnie to drugie.
 1
Author: Dan Tao,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-06 22:30:36

C#:

foreach(byte b = new byte[]{116,104,105,115,32,105,115,32,99,111,114,114,101,99})
    Console.Write((char)b);

Wyjście:

this is correc

Więc odpowiedź to 116, dla "t".

 1
Author: Origamiguy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-06 22:37:26

Jako programiści codziennie spotykamy się z WTFs: clueless clients, brain dead API, our own code from last week... To tylko część naszej branży. Myślę, że wiedza o tym, jak dobrze reagujemy na te sytuacje, jest bardzo użytecznym kryterium zatrudnienia. Samo pytanie jest o wiele mniej ważne niż to, w jaki sposób można wymyślić odpowiedź i uzasadnić ją.

 1
Author: CurtainDog,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-07 03:52:57

Jest 116. Nie potrzebowałem twoich wskazówek. Podświadomie myślę, że zauważyłem wszystkie numery były w zakresie 97-122 (programowanie BBC Micro 20 lat temu, gdy byłem dzieckiem pomógł mi zapamiętać kody ASCII z jakiegoś powodu!). Nie przekonwertowałem przed chwilą każdej litery w głowie:

>>> "".join(map(chr, [116, 104, 105, 115, 32, 105, 115, 32, 99, 111, 114, 114, 101, 99]))
'this is correc'

Myślę, że rozmówca pewnie chciał zobaczyć, jak myślisz o problemach i / lub pomyślał, że jako programista możesz znać kody ASCII. Ale gdyby to było dla starszego programisty Java Myślałem, że będą ważniejsze rzeczy, o które mogę cię zapytać. Powiedzmy na przykład o strukturach danych lub algorytmach.

Jeśli naprawdę pozwolili na to przez 20 minut, jak mówisz, zmarnowali dużo czasu, który mogliby wykorzystać na ocenę Twoich umiejętności rozwojowych.

 0
Author: Richard Fearn,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-06 21:23:26

Gdyby Sekwencja była w hex, byłbym w stanie odczytać znaki na pierwszy rzut oka, w tempie około 1-2 sekund każdy. Znam większość alfabetu wielkich liter na pierwszy rzut oka w dziesiętnym, a także wszystkie znaki kontrolne (w kategoriach control-a przez control-Z) i rozpoznałbym 3, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 21, 26, i 27. Spodziewam się, że częścią celu jest sprawdzenie, czy wnioskodawca instynktownie rozpoznaje sekwencje znaków jako takie. 32 jest bardzo sugestywny ASCII.

 0
Author: supercat,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-07 02:16:09

Wybrałem raczej myśl łamania kodu, szukając par liczb. To doprowadziło mnie do przekonania, że było to po prostu zastąpienie cyfr znakami w alfabecie. Czytałem kilka książek na temat szyfrowania w ii wojnie światowej jakiś czas temu, a niektóre teorie na łamanie kodu utkwiły mi w głowie.

 0
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-07 04:17:31

Sekwencja znaków wychodzi: to jest correc Więc 1 w lewo to T...oznacza to, że jego wartość ascii wynosi 116

Więc odpowiedź to 116

 0
Author: kinshuk4,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-08 12:00:19

Poprawna odpowiedź to oczywiście 8 8 8 8 8 8 83 80 65 85 84 65 33.

 0
Author: Řrřola,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-11-15 10:08:00