Pytanie do programisty - uczciwe lub nieuczciwe [zamknięte]

10

Właśnie zadzwoniłem do firmy na stanowisko absolwenta programisty i otrzymałem następujące pytania. Powinienem dodać, że zainteresowana firma nie jest sprzedawcą baz danych.

  1. Jak działa optymalizator zapytań?

  2. Jeśli baza danych działała źle, to jak wykorzystać dzienniki wydajności, aby znaleźć problem.

Zapytałem, czy zadają takie pytania wszystkim kandydującym programistom (absolwentom lub doświadczonym) podczas pierwszej rozmowy telefonicznej. Odpowiedzieli, że lubią testować wiedzę swoich kandydatów na temat tworzenia baz danych.

Chcę napisać do firmy, że te pytania są nierozsądne, aby zadać pytanie podczas wywiadu dla programisty i poprosić o zakończenie mojego wywiadu.

Chciałbym sprawdzić zasadność następujących założeń

a) Te pytania nie mogą być rzetelnie zaklasyfikowane jako pytania dotyczące rozwoju bazy danych.
b) Myślę, że pytania są odpowiednie dla wywiadu DBA, ale całkowicie nierozsądne w przypadku wywiadu dla programistów (doświadczonego lub nie).
c) Pierwsze pytanie dotyczy tylko dostawcy bazy danych.
d) Drugie pytanie jest niesprawiedliwe, ponieważ programiści zwykle nie zajmują się dziennikami wydajności bazy danych, ponieważ jest to zadanie DBA.

Być może niektórzy z was będą na tyle uprzejmi, aby skomentować moje założenia lub mieć inne sugestie, zanim napiszę do firmy.

607018
źródło
23
Wolę zatrudnić programistę, który może uczciwie odpowiedzieć na te pytania, niż takiego, który nie potrafi. Ale nie zamierzam decydować wyłącznie na podstawie tego.
Dr Belisarius
14
Kiedyś mieliśmy rozmówcę tak niezadowolonego z jego rozmowy, że zafakturował nas za godzinę konsultacji. Przekazaliśmy go już, ale cieszymy się, że podjął decyzję, by wzmocnić naszą decyzję. :-)
18
usuń z listy kandydackiej gdzie nazwa użytkownika = "użytkownik607018";
Martin York
44
@ user607018 Myślę, że jednym z twoich problemów jest założenie, że rozmowa kwalifikacyjna powinna być „sprawiedliwa”, jak test w szkole. To nie jest poprawne; Rozmowa kwalifikacyjna to tylko sprawdzenie, czy chcą cię zatrudnić. Jeśli w reklamie nie wspomnieli w ogóle o optymalizacji / wydajności bazy danych, to inna historia, pozwalają marnować czas na ubieganie się o pracę, której nie można wykonać, ale w przeciwnym razie uczciwość w ogóle nie wchodzi w grę . Jest to powszechne nieporozumienie podczas przechodzenia ze sztucznego świata szkolnego do prawdziwego świata, w którym rzeczy są właściwie wykonywane.
MGOwen
16
Jeśli kiedykolwiek będziesz musiał pisać zapytania SQL, musisz znać odpowiedzi na te pytania. W przeciwnym razie skończysz pisać kiepskie zapytania, a ktoś inny będzie musiał je wyczyścić po tobie. Pytania są więc sprawiedliwe i uzasadnione.
SK-logika

Odpowiedzi:

86

Gdybym był ankieterem (którym czasami jestem) i otrzymał list od kandydata, który skarżył się, że pytania były niesprawiedliwe i chcieli przełączyć, dziękuję moim szczęśliwym gwiazdom, że uniknęliśmy tej kuli i natychmiast przenoszę aplikację do stos „odrzucenia”. Postępowanie w ten sposób pokazuje tylko, że jesteś osobą narzekającą, a nie posiadasz postawy „można zrobić”, której się szuka.

za. pytania były uzasadnione, aby zadać pytanie dotyczące rozwoju bazy danych.
b. fałszywe. Wszystko, co ma związek z tworzeniem oprogramowania, to uczciwa gra, o którą należy zapytać. Pamiętaj, że otrzymanie błędnej odpowiedzi nie dyskwalifikuje Cię automatycznie na stanowisko (lub inne stanowiska w firmie); może to po prostu pomóc w sklasyfikowaniu cię jako kogoś, kto nie byłby najlepiej przystosowany do pracy z bazą danych.
do. fałszywe.
re. fałszywe. Przede wszystkim może nie być dedykowanego DBA; po drugie, twórca oprogramowania musi zdawać sobie sprawę z szerokiej gamy problemów, które mogą mieć wpływ na wydajność (i dokładność), i mieć przynajmniej dobre zrozumienie zarządzania bazą danych.

Weź to jako lekcję, że są rzeczy, których jeszcze nie znasz. Teraz wiesz, co uczyć się następnym razem.

Eter
źródło
31
+1 za „teraz wiesz, czego się uczyć”. OSTATNĄ rzeczą, jakiej chce pracodawca, jest personel, który ma dopracowane przemówienie „nie moja praca”.
Dave
7
+1 - głosowałbym za +100, gdybym tylko mógł ... o wiele za dużo „programistów” w dzisiejszych czasach wie o przysiadach na temat baz danych i ich działania - a mimo to używają ich przez cały czas ...
marc_s
+1 Powinieneś spodziewać się WSZYSTKIEGO podczas rozmowy. To ich gra, ich wywiad i firma
Dałbym więcej głosów pozytywnych, gdybym mógł, powiedziałeś to, co chciałem powiedzieć tylko bardziej taktownie. Zwrócę również uwagę, że pytania, na które prawdopodobnie nie znasz odpowiedzi, są czasami proszone o sprawdzenie, jak reagujesz pod presją. Ale nie znalazłem nic dziwnego w tych pytaniach, jeśli tworzenie baz danych stanowi znaczącą część pracy.
HLGEM
5
Dodatkowo powiedziałbym: „Jak działa optymalizator zapytań?” niekoniecznie oznacza, że ​​chcą, abyś mógł zbudować optymalizator zapytań od zera. Może to oznaczać, że chcą sprawdzić twoje zrozumienie, w którym momencie działa optymalizator, podczas obsługi przechowywanych proc, zapytań adhoc SQL itp. Jest to absolutnie istotna wiedza dla programisty, który pisze kod trafiający do bazy danych.
Carson63000,
17

Myślę, że to uczciwe pytanie (i brzmi jak pytanie, które Google prawdopodobnie zadaje). :) Wydaje się, że sedno pytania NIE polega na prawdziwym przetestowaniu szczegółowej wiedzy na temat zapytań do bazy danych i tym podobnych, ale na sprawdzeniu, jak podejść i rozwiązać problem. Umiejętność wykonania zadania, które już wykonałeś, jest konieczna, ale umiejętność samodzielnego myślenia i podejścia do nowego problemu jest bardzo ważna.

Kiedy pojawia się takie pytanie, jeśli brakuje mi konkretnej wiedzy o danej bazie danych, myślę, że zaczyna się uczciwa odpowiedź: „Cóż, nie mam dużego doświadczenia z tą technologią, ale ogólnie przeglądałem dzienniki wydajności, aby znaleźć operacje, które są wykonywane najczęściej, i próbowałem uszeregować je według czasu przetwarzania. W ten sposób mogłem ocenić, które operacje są najdroższe i mogą być dobrymi kandydatami do optymalizacji ”.

Na powyższą odpowiedź nie potrzebujesz żadnej wiedzy technicznej, ale pokazuje to Twojemu ankieterowi, że jesteś gotowy rozwiązać nowy problem.

Kenny Wyland
źródło
4
Alternatywnie może się zdarzyć, że firma woli programistów z pewną wiedzą na temat optymalizacji zapytań. Moja żona nie jest DBA, ale wykonała wiele dobrej pracy optymalizując zapytania. DBA są zbyt zajęci, aby zoptymalizować wszystkie zapytania, które mogłyby z nich skorzystać.
David Thornley,
16

Jeśli nie jest to sprawiedliwe czy nie fair, zatrudniają, więc ustalają zasady i mogą pytać, co chcą (ok nie wszystko, ale prawie wszystko;))

A jeśli nadal chcesz tę pracę, nie sądzę, że zrobisz sobie przysługę, jeśli ją napiszesz.

RoflcoptrException
źródło
Technicznie rzecz biorąc, mogą cię prosić o wszystko, to od ciebie zależy, czy nie (a jeśli poproszą cię o coś całkowicie głupiego, i tak nie chcesz tej pracy).
o0 ”.
16

Bardzo częstą strategią w rozmowach kwalifikacyjnych jest zadawanie pytań, które wykraczają poza stanowisko, na które przeprowadzane są rozmowy, i sprawdzanie, jak kandydat się zmienia. Na zadane pytania można oczekiwać, że odpowiesz na coś takiego:

Cóż, moja wiedza na temat baz danych jest szczątkowa, ale myślę, że idzie to mniej więcej tak ...

Lub nawet:

Przepraszam, że wykraczam poza moje doświadczenie, muszę sprawdzić szczegóły dzienników wydajności za pomocą DBA

Zasadniczo spodziewałbym się, że kandydaci na poziomie podstawowym będą mieli przynajmniej podstawową wiedzę na temat działania baz danych, a także postawy „nie wiem, ale spróbuję się nauczyć”.

Gdybyś podjął uczciwą próbę i natychmiast zakończył rozmowę telefoniczną, miałbyś prawdziwy powód, aby czuć się ciężko, ale to prawda, powiem, że powinieneś nauczyć się, jak wyglądać na pewnego siebie, przyznając, że nic nie wiesz.

David Hall
źródło
12

Znam ankieterów, którzy nie uważają rozmowy za zakończoną, chyba że znajdą jakieś pytania techniczne, na które kandydat nie potrafi odpowiedzieć. Celem jest sprawdzenie, jak kandydat radzi sobie z tego rodzaju pytaniami.

Przyznajesz, że nie wiedzą? Dobrze. Tworzysz spin / BS na odpowiedź? Drzwi.

hotpaw2
źródło
9

IMO, programista i role DBA nie są dobrze podzielone na kategorie w wielu firmach. Zasadniczo musisz wiedzieć przynajmniej niektóre części baz danych, jeśli jesteś programistą. Tak więc pytania wydają mi się sprawiedliwe, pod warunkiem, że nie są proszone o odświeżenie.

Mahesh Velaga
źródło
8

Myślę, że to jest sprawiedliwe. Nie pracuję u dostawcy bazy danych, ale wiedza na temat czytania planów zapytań (w mniejszym stopniu dzienników wydajności) jest BARDZO ważna. Dobrze jest także wiedzieć, jak działa optymalizator zapytań.

W odpowiedzi na twoje pociski:

a) tak ? Pewnie, że są one związane z tworzeniem baz danych, a jeśli piszesz kod, a Twój program musi wyszukiwać dane, to jest to istotne.

b) Niezupełnie. DBA lepiej zna odpowiedzi, ale dobry programista też powinien znać odpowiedź. Nie spodziewałbym się tak bardzo szczegółowej odpowiedzi jak od DBA, ale oczekiwałbym czegoś. A jeśli programista nie wie, mogę po prostu przyjąć jako odpowiedź „Poprosiłbym DBA, żeby mnie nauczył”, jeśli programista byłby stosunkowo nowy w pracy z bazami danych.

c) Nie, nie jest. Jest to istotne dla każdego, kto jest zaniepokojony wydajnością zapytań do bazy danych. Jeśli nie zależy ci na szybkości uruchamiania zapytań, możesz to zignorować. Z drugiej strony Twoi klienci, którzy mają coraz gorszą wydajność na swoich stronach internetowych, mogą się nie zgadzać.

d) Może Nie wszyscy programiści widzą dzienniki wydajności, ale jeśli wystąpi problem, możesz spodziewać się, że DBA prześle Ci odpowiednie części i wyjaśni problem, jeśli nie wiesz, jak go interpretować. Przynajmniej programista powinien być w stanie spojrzeć na plan zapytań i zobaczyć podstawowe problemy (pełne skanowanie tabeli => złe, szybkie skanowanie indeksu => dobre).

Ponieważ jesteś świeżo po szkole i być może nie omawiałeś tego w swoich klasach, możesz odpowiedzieć mówiąc: „Porozmawiam z bardziej zaawansowanym deweloperem lub DBA i poproszę o pomoc w zrozumieniu tego”. Ankieterzy mogą to zaakceptować, ponieważ pokazuje to przynajmniej, że jesteś gotów uczyć się nowych rzeczy, ponieważ nie masz jeszcze doświadczenia, aby je znaleźć. Inną opcją jest samodzielne nauczenie się ich.

Powodzenia w kolejnym wywiadzie!

FrustratedWithFormsDesigner
źródło
7

Są całkowicie uprawnieni do pytania, czego chcą. Być może nie zajmowałeś się tymi tematami w swoim programie nauczania, ale to nie znaczy, że inni rozmówcy nie mieli lub nie mieli wystarczającego zainteresowania tym tematem, aby wyjść poza program nauczania. Szukają najlepszych. Mam nadzieję, że przynajmniej próbowałeś odpowiedzieć na pytania i nie dostałeś całej obrony. Gdybym był nimi i dostał od ciebie grubiański list, znalazłbyś się na czarnej liście.

James
źródło
2
A zresztą to, że nie było objęte szkołą, nie oznacza, że ​​firma nie potrzebuje tych umiejętności!
GrandmasterB
3
A jeśli kandydat w jakiś sposób dostał drugą szansę, oczekiwanie na to samo pytanie (lub nawet cokolwiek nieco podobnego) byłoby poważną porażką. Jedną z rzeczy, które robię, aby pokonać dzielenie się pytaniami (szczególnie uprzywilejowane przez rekruterów), jest zróżnicowanie dość „dziwnego” pytania. Następnym razem spodziewaj się czegoś o integracji telefonu lub skanowaniu kodów kreskowych.
7

Tworzenie oprogramowania to zawód interdyscyplinarny. Nie sądzę, żebyś miał jakikolwiek przebieg z prośbą o zmianę twojego wywiadu. „Rozsądne” w tym kontekście jest to, czy dana firma wyeliminuje Cię z rozważań tylko na podstawie twojego braku umiejętności DBA. Zadanie pytania jest całkowicie uzasadnione.

Im dalsze postępy w karierze, tym więcej musisz wiedzieć. Jeśli zastanawiasz się, dlaczego programista powinien dbać o optymalizację zapytań, rozważ projekt aplikacji. Nowe projekty często wymagają dyskusji na temat modelowania danych. Doprowadzi to do dyskusji na temat normalizacji, które doprowadzą do prac nad projektowaniem baz danych. Dobre zasady projektowania sprowadzają się do wdrożenia. Złe / nieskuteczne projekty na poziomie architektonicznym mają konsekwencje, które często są drogie do naprawienia.

Dave
źródło
5

Pojęcie „sprawiedliwego” nie ma tutaj znaczenia. To rozmowa kwalifikacyjna.

Nie mogą cię odrzucić na podstawie koloru skóry, religii, pochodzenia etnicznego lub kilku innych podobnych rzeczy. Ale mogą cię odrzucić z jakiegokolwiek innego powodu, równie głupiego jak kolor butów, które nosiłeś na rozmowę. I możesz nigdy nie poznać prawdziwego powodu.

Ważne jest, aby być elastycznym podczas rozmowy kwalifikacyjnej. Rozumiem skłonność do nadmiernej analizy i dość często to robiłem. Ale najlepiej jest zaakceptować to, że życie nie jest sprawiedliwe, i przygotować wystarczająco dużo wywiadów, abyś nie musiał pokładać w nich żadnej nadziei.

Kyralessa
źródło
5

Jak powiedzieli inni, pytania są całkowicie aktualne. Byłoby jednak dziwne, gdyby ankieter zdecydował, czy zatrudnić cię całkowicie na podstawie tych pytań. Może chcieli usłyszeć twój powód na temat przedmiotu, którego możesz nie znać, a to jest ważna technika wywiadu.

Jeśli I został zatrudniania, nie wyklucza cię, jeśli powiedział: „Przykro mi, nie wiem zbyt wiele o optymalizujące zapytania, ale mogę się nauczyć”. I byłoby wykluczyć cię, jeśli zaczął narzekać na pytania, choć.

Andres F.
źródło
5

Koleś, powiem ci wprost: nie ma mowy o bazach danych jako programista. Każdy projekt, w który do tej pory byłem zaangażowany, zajmował co najmniej połowę czasu na rozwój. Projektowanie DB jest integralną częścią rozwoju oprogramowania i im więcej wiesz, tym lepiej możesz rozwiązać problem. Nie denerwuj się też rodzajem pytań i jego kontekstem jest zbyt wiele. Przez większość czasu pracodawcy chcą tylko sprawdzić, czy jesteś w stanie samodzielnie myśleć o rozwiązaniu problemu lub czy masz pewność, że przynajmniej powiesz coś sensownego na ten temat. Ponieważ jesteś absolwentem, zdają sobie sprawę, że i tak będą musieli spędzać czas na nauczaniu cię tych wszystkich rzeczy, ale chcą wiedzieć, czy będziesz wart tego czasu i wysiłku. Bądź ostry i skromny!

pierrepret22
źródło
Jestem programistą i od lat nie zmieniłem bazy danych. Niektórzy z nas nie robią aplikacji CRUD. To powiedziawszy, dla wielu (być może nawet większości) ról, jakie odgrywa twój argument.
Kristof Provost,
5

Chcę napisać do firmy, że te pytania są nierozsądne, aby zadać pytanie podczas wywiadu dla programisty i poprosić o zakończenie mojego wywiadu.

Jak myślisz, co się stanie, jeśli wyślesz ten list? Czy wyobrażasz sobie, że powie „Hmm, ten kandydat ma rację. Powinniśmy go odzyskać i zadać mu łatwiejsze pytania”? Gwarantuję ci, że nie. W rzeczywistości będą obchodzić list i śmiać się.

Przekrocz swoje poczucie uprawnień. Wychodzisz w prawdziwym świecie.

Jak uważasz, że pytania dotyczące baz danych są niesprawiedliwe? Myślisz, że programiści nie muszą znać baz danych, ale ta firma najwyraźniej wie. Dlatego zadają pytania! Ankieterzy nie zadają pytań po prostu do cholery. Zadają pytania, aby dowiedzieć się, czy znasz rzeczy, których potrzebują. Jeśli nie wiesz, czego potrzebują, to nie jesteś odpowiednią osobą do pracy.

Jeśli nie chcesz się uczyć o bazach danych, to dobrze, ale nie jęcz, jeśli jakaś firma nie chce cię zatrudnić. Nie jesteś winien pracy.

Andy Lester
źródło
1
Głosowałbym za milion razy, gdybym mógł
HLGEM
4

Jak te niesprawiedliwe pytania? Programiści pracują z bazami danych. Czy nie sądzisz, że powinni oni przynajmniej znać czynniki wpływające na sprawność i szybkość zapytań do bazy danych? Nie każda firma ma wewnętrzne DBA ... a nawet jeśli tak, to nie bierze odpowiedzialności za pisanie skutecznych zapytań od dewelopera.

Grandmaster B.
źródło
4

Jeśli zadają pytania wszystkim kandydatom, są uczciwi i skończeni.

Nie ważne czy ty że pytania są odpowiednie dla stanowiska, ważne jest tylko to, czy potencjalny pracodawca uważa je za odpowiednie - i jeśli zapytają, to prawdopodobnie tak jest (albo dlatego, że odzwierciedlają wymagane umiejętności, albo dlatego, że znaleźli odpowiedzi, które otrzymują, mówią im ciekawe rzeczy na temat rozmówcy).

Wreszcie wydaje się, że masz jakieś dziwne pomysły na temat granic kompetencji dewelopera - nigdy (o ile pamiętam w 25-letniej karierze) nie pracowałem z dedykowanym DBA ...

Murph
źródło
Unikałeś wtedy dużych korporacyjnych firm niezwiązanych z IT :) Musisz w nich uważać na nazistów DBA!
ozz
@james „Unikane” to niewłaściwe słowo - ale tak… Chodzi o to, że przez większość czasu byłem „programistą” i jako taki wymagałem przynajmniej pewnych umiejętności DBA (choć nie sugerują, że jestem DBA ... ale nie zawsze jest to konieczne, aby mieć / mieć dedykowane dba dla skromniejszych projektów, chociaż rozpoznanie braków w umiejętnościach może być czasami bolesne)
Murph
4

Patrząc na pytania, myślę, że to może być moja firma - zadajemy tego typu pytania KAŻDEMU kandydatowi w ramach rozmowy telefonicznej. Zawsze. Daje nam standard do pracy.

Większość powyższych odpowiedzi podsumowuje to całkiem dobrze ...

a) Chcemy ludzi z dużym doświadczeniem, a nie ludzi, którzy mogą zrobić tylko kilka rzeczy.

b) Pytania są po to, aby pomóc nam zbadać twoją wiedzę, możesz nie znać odpowiedzi w pełni (lub wcale) pytania są punktem wyjścia do poszerzenia wiedzy i doświadczenia.

c) Pamiętaj, że wywiad jest dla naszej korzyści I TWOICH ... z rodzajów pytań, które powinieneś wiedzieć o roli i firmie oraz czy pasujemy do ciebie, a ty do nas ...

d) to praca, jeśli nie przejdziesz rozmowy kwalifikacyjnej, dorośnij, przestań marudzić i spróbuj lepiej podczas następnej rozmowy.

Paul
źródło
3

Wygląda na to, że nie mają DBA, więc chcieli, abyś również wypełnił tę rolę. Jest to typowe dla małych firm.

Navi
źródło
6
To, że firma chce, aby programista zrozumiał, jak dostroić swoje skrypty bazy danych, wcale NIE oznacza, że ​​nie ma DBA. Wolę mieć programistę, który może zoptymalizować swoje własne rzeczy, zamiast wrzucać dowolny skrypt SQL na serwer i mieć nadzieję, że dostanie się do niego DBA. DBA ma więcej powodów do zmartwień niż ciągłe naprawianie skryptów.
1
Nie każda firma jako taka stosuje DBA. Weź pod uwagę komercyjnych programistów, którzy dystrybuują oprogramowanie wśród klientów. Klienci mogą mieć DBA, ale programiści nadal muszą efektywnie pisać zapytania wykorzystywane przez ich oprogramowanie.
GrandmasterB
Pracowałem dla małej firmy (około dwóch tuzinów osób, kiedy dołączyłem), która dostała prawdziwe DBA dopiero dużo później. Kiedy pytanie zmieniło się z pół minuty na pół godziny, musiałem je sam wymyślić.
David Thornley,
1
W każdym razie nie jest nierozsądne pragnienie programistów, którzy wiedzą więcej niż tylko programowanie.
Andres F.,
3

Nie widzę w tym absolutnie nic złego. Dlaczego deweloper nie powinien, zwłaszcza jeśli kończy pracę w bazie danych, nie mieć dostępu do takich elementów?

Czy twórca oprogramowania nie powinien wiedzieć o oprogramowaniu optymalizacyjnym ani o dostępie do dzienników zdarzeń aplikacji w celu wykrycia problemu z wydajnością? Jeśli tak, dlaczego nie to samo dla kogoś, kto jest programistą baz danych? Dlaczego nie mogą być jednym w tym samym?

Jeśli przeprowadzałem wywiad z kimś na stanowisko programisty, które również zajmowało się tworzeniem baz danych, masz cholerną rację, upewnię się, że są świadomi nie tylko tego, co robią, ale że mogą zwiększyć wydajność swojego kodu lub istniejący kod jako baza danych może mieć ogromne znaczenie.

Zamiast rozwijać podejście, być może lepszym działaniem byłoby „Nie znam odpowiedzi, ale oto, co bym zrobił, aby ją znaleźć”.

Kris
źródło
3

Jak zauważyli inni, w wywiadzie prawie każde pytanie jest uczciwą grą, o ile nie dotyka jakiegoś obszaru prawnie chronionego (np. Wiek, rasa, seks itp.) I nie jest niczym niezwykłym, że ankieterzy rzucają pytania, aby zobaczyć, jak zareagujesz na pytanie i jak postaraj się znaleźć rozwiązanie tego pytania. Ponadto, ponieważ wydaje się, że jesteś absolwentem, są one nieco ograniczone, jeśli chodzi o to, czy możesz zapytać o twoje doświadczenie zawodowe i jakie problemy rozwiązałeś w środowisku produkcyjnym. Tak więc, jeśli firma wykonuje wiele prac zorientowanych na bazę danych, pytania, które zadają, mogą również odnosić się do tego, na czym stanowiłoby stanowisko, z którym rozmawiasz.

W odniesieniu do twoich założeń:

a) Te pytania nie mogą być rzetelnie zaklasyfikowane jako pytania dotyczące rozwoju bazy danych.

Może, może nie. Jeśli tworzysz bazę danych, będziesz używać optymalizatora zapytań i od czasu do czasu planujesz, aby upewnić się, że nie ma oczywistych problemów z zapytaniami. Jeśli firma ma administratorów baz danych lub ekspertów, którzy mogliby przejrzeć zapytania, mogliby nie mieć czasu na sprawdzenie wszystkiego, a także nie chcieliby patrzeć na każde źle zakodowane zapytanie. Podobnie, często zdarza się, że programiści są odpowiedzialni za utrzymanie środowiska programistycznego, dołączanie baz danych i zlecanie DBA obsługi strony produkcyjnej.

b) Myślę, że pytania są odpowiednie dla wywiadu DBA, ale całkowicie nierozsądne w przypadku wywiadu dla programistów (doświadczonego lub nie).

Prawdopodobnie byłyby odpowiednie na rozmowę z DBA; ale niezależnie od tego są to również tematy, które powinien znać programista, choćby na poziomie umiejętności rozpoznania problemu i samodzielnego wykonania podstawowych czynności rozwiązywania problemów. Jak wspomniałem wcześniej, jeśli firma ma ograniczone zasoby, będzie chciała się upewnić, że nie marnuje czasu ludzi na coś, co może być podstawowym problemem.

c) Pierwsze pytanie dotyczy tylko dostawcy bazy danych.

Określone szczegóły mogą być specyficzne dla dostawcy, ale ogólne koncepcje można zastosować w dowolnym miejscu, a czasem jest w stanie pokazać, że rozumiesz ogólne koncepcje, czego potrzebujesz. Jeśli nie chcesz zostać uwięziony w jednym stosie programistycznym (np. LAMP ), będziesz musiał być w stanie wykazać podczas wywiadów, że rozumiesz podstawowe koncepcje i swobodnie przechodzisz do różnych stosów programistycznych.

d) Drugie pytanie jest niesprawiedliwe, ponieważ programiści zwykle nie zajmują się dziennikami wydajności bazy danych, ponieważ jest to zadanie DBA.

Zasadniczo jest to prawda, ale jeśli częścią twojego zadania jest pisanie oprogramowania dla danej bazy danych, która musi być bardzo responsywna, musisz upewnić się, że dołożyłeś wszelkich starań, aby napisać te zapytania, aby kolega, który jest ekspert w danym obszarze nie jest wciągany przez źle napisane zapytania. Chociaż może nie być konieczne zapoznanie się z dokładniejszymi szczegółami tego, co mówią Ci logi, być może będziesz w stanie zidentyfikować oczywiste problemy.

Mam nadzieję, że wszystko to pomaga!

rjzii
źródło
2

To, że jesteś programistą, nie oznacza, że ​​powinieneś znać tylko tematy związane z programistami. Posiadanie szerokiej gamy wiedzy, od zarządzania serwerami po technologie baz danych, jest w rzeczywistości bardzo przydatną umiejętnością jako programista. Nie miałbym problemów z zadawaniem tego rodzaju pytań kandydatom. Jeśli nie zrozumieją ich dobrze, dobrze, to nie wykreśla ich z listy (nie oczekuję, że wszystko wiedzą), ale jeśli potrafią odpowiedzieć, to pokazuje mi, że programista jest czymś więcej niż tylko typowy programista ustawiający umiejętności, a te są rzadką rasą.

Josh
źródło
+1, całkowicie się zgadzam. A jeśli zamiast tego potencjalny najem zacznie narzekać na „niesprawiedliwość” pytań, należą one do bardziej powszechnej rasy „ nie zatrudniaj” .
Andres F.,
2

Mam również podobny spór z potencjalnym pracodawcą, który zadał mi pytanie dotyczące pokrywy włazu. Pytam, co ma wspólnego kształt włazu z programowaniem!

leebriggs
źródło
3
Jakie było rzeczywiste pytanie dotyczące pokrywy włazu? Założę się, że był to eksperyment myślowy stworzony, aby ocenić twoją zdolność myślenia i nie miał nic wspólnego z pokrywami włazów.
Kenny Wyland
Dobry ankieter zadaje takie pytania, aby lepiej zrozumieć, jak myślisz i jak rozwiązać problem. (Chociaż pytanie o właz okrągły jest obecnie trochę zmęczone).
2
To bardzo popularne pytanie podczas wywiadu: „Dlaczego pokrywy włazów są okrągłe?” a oczekiwaną odpowiedzią powinno być „aby nie pasowały (i wpadały) do dziury”. (i nie ma wielu innych uzasadnionych powodów, takich jak „ponieważ otwór jest okrągły (ponieważ jest wywiercony)” lub „abyś mógł obrócić osłonę, aby przesunąć ją po podniesieniu (w przeciwnym razie wymaga przeciągnięcia lub dwóch osób to move) "
Jimmy
To pytanie było prawdopodobnie podobne do liczby piłek golfowych, które można zmieścić w pytaniu o autobus. Odpowiedź niekoniecznie jest prawidłowa, ale osoba przeprowadzająca wywiad chce zobaczyć, jak myślisz, jak postąpiłabyś w rozwiązaniu problemu. Podczas wywiadu ważne jest, aby myśleć na głos.
2
To stwierdzenie oczywiście żartuje, wątpię, czy ktoś użył słynnego pytania o właz w ciągu ostatnich dwudziestu lat. Chodzi o to, że podczas wywiadu przestrzegasz zasad ankietera. Jeśli pytanie wydaje się nieodpowiednie, wypowiedz się i wyjaśnij swoje uzasadnienie.
0

Odpowiedzi formularza Cóż, nie jestem pewien, ale sprawdziłbym to, przechodząc do, i są również dobre. Nikt nie myśli, że wiesz wszystko, ale umiejętność wyszukiwania rzeczy to kluczowa umiejętność

Zachary K.
źródło