Pytania co good.NET deweloper powinien być w stanie odpowiedzieć? [zamknięte]

Moja Firma ma zamiar zatrudnić programistów. NET . Pracujemy na różnych platformach. NET: ASP.NET, Compact Framework, Windowsforms, Web Services. Chciałbym sporządzić listę / katalog dobrych pytań, rodzaj minimalnego standardu, aby sprawdzić, czy wnioskodawcy są doświadczeni. Więc moje pytanie brzmi:

Jakie pytania czy Twoim zdaniem dobry programista . NET powinien odpowiedzieć ?

Ja też bym to widział jako checklist dla siebie, żeby zobaczyć gdzie moje własne deficyty to (jest ich wiele...).

alt text

*aktualizacja: chcemy wyjaśnić, że nie testujemy tylko wiedzy. NET, a możliwości rozwiązywania problemów i ogólne umiejętności programistyczne są dla nas jeszcze ważniejsze.

 246
Author: splattne, 2008-12-13

25 answers

Podstawowe pytania to:

Myślę, że zwykle pomaga poprosić kandydatów o ukończenie prostego ćwiczenia z kodowania, takiego jak:

  • Napisz własną klasę linked list bez użycia klas wbudowanych.
  • Napisz własną klasę hashtable bez użycia klas wbudowanych.
  • Napisz klasa, która reprezentuje drzewo binarne. Napisz metodę, która przemierza wszystkie węzły drzewa.
  • Napisz metodę do wykonania wyszukiwania binarnego na tablicy bez użycia wbudowanych metod.
  • narysuj schemat bazy danych dla bloga. Każdy użytkownik ma tylko jeden blog, każdy blog ma wiele kategorii, każda kategoria ma wiele postów, a każdy post może należeć do więcej niż jednej kategorii. Poproś wnioskodawcę o napisanie zapytań w celu wyciągnięcia konkretnych informacji.

Następnie poszukaj konkretnych technicznych know-how:

  • (programy obsługi zdarzeń) tworzy klasę z niestandardową obsługą zdarzeń, tworzy inną klasę, która łączy się z niestandardową obsługą zdarzeń.
  • (XML) załaduj dokument XML i wybierz wszystkie węzły o właściwościach x, y i z.
  • (Programowanie funkcyjne) tworzy funkcję, która przyjmuje inną funkcję jako parametr. Mapa lub funkcja składania działa naprawdę dobrze do tego.
  • (Reflection) napisz funkcję, która określa, czy klasa ma określony atrybut.
  • (Regex) zapisuje Wyrażenie regularne, które usuwa wszystkie znaczniki z bloku HTML.

Żadne z tych pytań nie jest szczególnie trudne dla biegłego programisty C# do odpowiedzi, i powinny one dać dobre wyobrażenie o swoich aplikantów konkretnych mocnych stron. Możesz również popracować nad kilkoma pytaniami/próbkami kodu, które wykorzystują określone wzorce projektowe.

[Edytuj dla wyjaśnienia]:

Wydaje się, że wiele osób nie rozumie dlaczego Zadawałbym tego typu pytania. Pozwolę sobie poruszyć kilka komentarzy (Nie cytuję bezpośrednio, ale parafrazuję):


P: kiedy ostatni raz ktoś używał ulotnych lub słabych odniesień?

O: kiedy udzielam wywiadów technicznych, sprawdzam, czy dana osoba rozumie funkcje wysokiego poziomu i niskopoziomowe .NET. Volatiles i słabe odniesienia to dwie funkcje niskiego poziomu dostarczane przez. Net - nawet jeśli te funkcje nie są używane często w praktyce odpowiedzi na te pytania są niezwykle odkrywcze:

  • Dobre zrozumienie substancji lotnych pokazuje, że osoba rozumie, jak optymalizacje kompilatorów zmieniają poprawność kodu, jak wątki przechowują lokalne kopie stanu współdzielonego, które mogą być zsynchronizowane w danym momencie, i jest w minimalnym stopniu świadoma niektórych złożoności wielowątkowego kodu.

  • Dobre zrozumienie słabych odniesień pokazuje, że osoba wie o intymne szczegóły garbage collector i to, jak decyduje, kiedy zwolnić pamięć. Oczywiście, można zapytać kandydatów "jak działa Śmieciarz", ale pytanie o słabe referencje dostaje dużo lepszą, bardziej przemyślaną odpowiedź.

. NET jest dość abstrakcyjnym językiem, ale twórcy gwiazd prawie zawsze mają głębokie zrozumienie CLR i niskopoziomowych szczegółów środowiska.NET.


P: Dlaczego ktoś musiałby zaimplementować własny hashtable lub linked lista?

O: nie sugeruję, że Klasa słownika jest gorsza lub że ludzie powinni rzucać własne hashtable. Jest to podstawowe pytanie, które sprawdza, czy dana osoba ma Minimalne zrozumienie struktur danych. Do tego testują te pytania: minimum zrozumienia.

O hashtablach i połączonych listach dowiesz się pierwszego dnia struktury danych 101. Jeśli ktoś nie może napisać hashtable lub linked list od podstaw, to ma Ogromna luka w ich wiedzy technicznej.


P: dlaczego te pytania są tak okrutne?

O: ponieważ tytuł tego wątku brzmi "pytania każdy dobry programista. NET powinien wiedzieć". Każdy programista. NET zaczyna swoją karierę pisząc aplikacje crud, a 90% wszystkich ludzi zajmujących się tworzeniem aplikacji zajmuje się aplikacjami biznesowymi.

Myślę, że pytania sprawdzające znajomość aplikacji biznesowych są odpowiednie w większości przypadków, chyba że szukasz programistów w bardzo specyficznych niszach, takich jak tworzenie kompilatorów, tworzenie silników gier, dowodzenie twierdzeniami, przetwarzanie obrazów itp.

 171
Author: Juliet,
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
2017-05-23 12:18:14

Znalazłem te listy na Scott Hanselman 'S blog:

Oto, co moim zdaniem są najważniejsze pytania z tych postów podzielone na kategorie. Zmontowałem je i przerobiłem. Na szczęście dla większości z tych pytań jest już dobra odpowiedź na Stack Overflow. Wystarczy kliknąć na linki (zaktualizuję je wszystkie jak najszybciej) .

Pytania niezależne od platformy. NET

ASP.NET

 135
Author: splattne,
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
2017-05-23 12:03:07

To może nie jest to, co chcesz usłyszeć, ale zalecałbym nie skupiać się na wąskich technologiach, ale na ogólnych umiejętnościach programowania i rozwiązywania problemów. Solidni programiści mogą szybko nauczyć się wszystkiego, co chcesz, aby robili.

Ja na przykład nie jestem facetem od zwartych RAM, więc mogę oblać Twój Wywiad, jeśli pójdziesz w tym kierunku. Ale gdybym potrzebował go użyć, mógłbym trochę poszperać i wskoczyć.

Książka Joela, mądra i robi rzeczy , ma świetne rady do zatrudniania programistów i są duże soczyste sekcje o rodzaju pytań, które należy zadać. Gorąco polecam.

 94
Author: Brian MacKay,
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
2008-12-13 18:04:20

Myślę, że gdybym rozmawiał z kimś, kto ma doświadczenie w LINQ, prawdopodobnie poprosiłbym go o wyjaśnienie LINQ. Jeśli potrafią wyjaśnić odroczone wykonanie, streaming, Interfejsy IEnumerable/IEnumerator, foreach, bloki iteratora, drzewa wyrażeń (w każdym razie dla punktów bonusowych) to prawdopodobnie poradzą sobie z resztą. (Co prawda mogą być "ok" developerami, a nie" get " LINQ jeszcze - naprawdę myślę o przypadku, w którym twierdzili, że znają wystarczająco LINQ, aby uczynić go sprawiedliwym pytanie.)

W przeszłości zadałem kilka z już wymienionych pytań i kilka innych:

  • różnica między typami odniesienia i wartości
  • Pass by reference vs pass by value
  • IDisposable i finalizers
  • ciągi, niezmienność, kodowanie znaków
  • zmiennoprzecinkowy
  • delegaci
  • Generyki
  • typy Nullable
 66
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
2008-12-13 18:25:23

Jestem z facetami, którzy szukają umiejętności rozwiązywania problemów, a nie tego rodzaju rzeczy, które można znaleźć i zapamiętać z '101 Top. NET Wywiad Qs i As".

Aby przytoczyć siebie jako przykład, zwykle "wiem", czego potrzebuję z dnia na dzień. Mam tendencję do zapominania (a później muszę ponownie szukać) rzeczy, których używam rzadko.

/Align = "left" /

Niemniej jednak, zaprojektowałem i zakodowałem wiele z infrastruktury systemu wykorzystującego identyczne obiekty biznesowe i warstwy danych dla swoich formularzy WinForms i ASP.NET wcielenia, a nasza baza kodowa jest wystarczająco solidna i wielokrotnego użytku, abyśmy mogli obsługiwać i rozwijać 20 + różnie skonfigurowanych wersji strony internetowej, a także rosnącą liczbę (obecnie 5) aplikacji WinForms...

... z dwuosobowym zespołem programistów.

Kiedyś pracowałem w zespole jako tech lead, a moja praca obejmowała sporo rekrutacji i Wywiad. Moim najbardziej spektakularnym błędem było wynajęcie faceta, który wiedział więcej o technologii, z której korzystamy, niż wszyscy razem wzięci, łącznie ze mną, i uznałem się za eksperta. Wiedział wszystko...

... poza tym, jak napisać kod, który albo spełniał wymagania, albo mógł być zrozumiany przez każdego oprócz siebie. Kiedy w końcu przekonałem premiera, żeby nie przedłużał umowy, wszystko, co napisał, musiało zostać przepisane.

Struktura wywiadów mądrze...

 42
Author: ChrisA,
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
2008-12-13 18:14:36

Kim jest Jon Skeet?

 34
Author: Steven A. Lowe,
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
2008-12-13 20:08:01

Dobre pytania jakie mi zadano to

  • co według ciebie jest dobre w. Net?
  • Co Twoim zdaniem jest złe o. Net?

Byłoby interesujące zobaczyć, co kandydat wymyśli i na pewno dowiesz się sporo o tym,jak on / ona korzysta z frameworku.

 33
Author: qui,
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
2009-03-16 17:11:16

Sam zawsze szukałbym umiejętności miękkich - nie zamierzony kalambur. Tak dobry projekt OO, test driven development, dobre multi (programowanie) językowe tło i cały ogólny smartness (i getting-things done - Ness chyba!).

Inteligentny programista nie powinien mieć problemów z Poznaniem poszczególnych technologii, które musisz znać, nawet jeśli nigdy wcześniej na nie nie patrzył - więc nie martwiłbym się zbytnio o konkretne pytania dotyczące WCF / compact framework i podobne.

Chciałbym, aby napisali jakiś kod-najlepszy sposób, aby dowiedzieć się, co wiedzą i jak działają. Każdy może zapamiętać odpowiedź na pytanie " Jaka jest różnica między typem odniesienia a typem wartości?'

 18
Author: Jennifer,
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
2008-12-13 17:59:34

Szczerze?

"czym jest. NET?"

Jeśli mogą dać ci jasną odpowiedź, czym jest. NET, a czym nie, jak jest używany, z jakich elementów się składa itp... Jeśli przekonają cię, że wiedzą, co to jest, są szanse, że wiedzą to całkiem dobrze.

Faktem jest, że wiele osób tak naprawdę nie wie, czym jest. NET. Nawet tych, którzy piszą do niego programy.

 13
Author: Erik Funkenbusch,
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
2009-02-26 06:12:13

Brak, naprawdę. Są prawdopodobnie bardzo proste pytania, na które najmądrzejsi Ludzie na świecie nie znają odpowiedzi. Nie dlatego, że są trudne, ale po prostu dlatego, że po prostu nie natknęli się na to. Powinieneś patrzeć na cały pakiet i umiejętności dewelopera, a nie na to, czy mogą odpowiedzieć na dowolne pytanie.

Jeśli pytanie jest wystarczająco łatwe, aby odpowiedzieć w krótkim zdaniu lub dwóch, jest wystarczająco łatwe, aby po prostu powiedzieć komuś, kto nie wie. Powinieneś być szukając ich zrozumienia pojęć i zdolności rozumowania, a nie ich zdolności do odpowiedzi na pytania " każdy programista. NET powinien być w stanie odpowiedzieć."

 11
Author: Gene Roberts,
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
2008-12-29 23:31:12

Poznaj różnicę między typami odniesienia i wartości.

Wiedz, że zdarzenia są przechowywane jako twarde odniesienia(np. pamiętaj o niezarejestrowaniu zdarzeń lub aplikacja wycieka pamięć).

Ciągi są niezmienne.

 10
Author: Brian Rasmussen,
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
2009-09-01 09:54:17

Martin Fowler woli umiejętności projektowe niż wiedzę na temat platform [2]}. Z drugiej strony możesz zadać pytanie, które pokaże znajomość wzorców projektowych i platformy. NET jak to:

  • Nazwij wzorce projektowe i zasady, które znasz i jak są one wykorzystywane w. NET Framework?
 6
Author: Dzmitry Huba,
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
2008-12-13 21:10:16

Proponuję zapytać o blogi, które czytają regularnie i osobiste projekty programistyczne, nad którymi pracowali, ponieważ pokaże to chęć do nauki i pasję do programowania.

 4
Author: Nicholas,
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
2008-12-15 12:43:16

Oto kilka, których użyłem do filtrowania programistów ubiegających się o pracę jako programiści C#:

Jaka jest różnica między typem odniesienia a typem wartości?

Wyjaśnij interfejs IDisposable, który język C# GO wymaga i jak go zaimplementujesz.

Jaki wyjątek rzuciłbyś, jeśli null zostanie przekazane jako argument do metody, która ma kontrakt, który nie pozwala NULL dla tego parametru?

 3
Author: Mike Scott,
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
2008-12-13 17:54:36

"który z ASP:jakich kontrolek użyłbyś w produkcji i dlaczego?"

To szybko powie Ci, czy twój obiekt kiedykolwiek zbudował i utrzymywał duży projekt na tyle długo, aby został spalony przez DataGrids i LinkButtons, czy też nadal jest w fazie przeciągania/upuszczania "naucz się w 21 dni".

W tym celu należy skontaktować się z Działem obsługi Klienta pod numerem telefonu + 48 22 222 22 22, a następnie skontaktować się z Działem obsługi klienta pod numerem telefonu + 48 22 222 22 22.]}
 3
Author: Jason Kester,
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
2009-04-11 11:33:51

Co to jest wątek?

Co to jest GC?

 2
Author: StingyJack,
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
2008-12-13 17:57:19

Jest to trochę zmienne pytanie, i tak naprawdę nie powinno być w stanie odpowiedzieć całkowicie teraz, ale jedno powinno być w stanie odpowiedzieć, gdy jest to właściwe:

"co oferuje. NET framework, aby wykonać zadanie X?"

A dokładniej:

" Czy. NET Framework zawiera obiekt, który wykonuje X?"

Na przykład, ostatnio spędziłem kilka godzin na opracowywaniu obiektu, który jest zoptymalizowany do przechowywania tablicy Booleanów i operowania na nim, na przykład robiąc zbiór Nie, OR, XOR, and, ustawia wszystkie wartości, itd. Dopiero po tym, jak skończyłem pisać wszystkie testy jednostkowe i poprawiałem je dla najlepszej możliwej wydajności, zdałem sobie sprawę, że mój obiekt "BoolArray" istnieje już w.NET framework pod nazwą "BitArray".

Może to być trudne do odpowiedzi, ponieważ wiele razy najlepsza odpowiedź na temat tego, jakiego obiektu / pomocników użyć, jest ta, której nie znasz lub w pełni rozumiesz. Jak wspaniały byłby świat. NET, gdyby wszyscy wiedzieli o nawet prosty StringBuilder, podstawowe narzędzie, które może zwiększyć wydajność znaczne kwoty.

 2
Author: Spodi,
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
2008-12-13 20:59:18

Zaproponuję kilka pytań, które skupią się na zrozumieniu pojęć programistycznych za pomocą dotnet jak

Jaka jest różnica między zarządzanym i niezarządzanym środowiskiem? GC plusy i minusy JIT plusy i minusy Jeśli musimy opracować aplikację X czy możemy użyć dotnet?dlaczego? (to określi, jak widzi dotnet)

Proponuję również napisać małe metody i poprosić go, aby przepisał je z lepszą wydajnością przy użyciu lepszych klas dotnet lub standardowych sposobów. Napisz również metody inccorrect (w kategoriach dowolnych) logicznych czy cokolwiek i poproś go o ich poprawienie.

 2
Author: Ahmed Said,
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
2009-01-14 13:39:19

Jestem fanem następujących pytań, oprócz niektórych już wymienionych pytań:

    Co to jest delegat?
  • Co to jest domena aplikacji?
  • Kiedy użyć słowa kluczowego lock?
  • czy wątek klasy zbiorów generycznych biblioteki standardowej jest bezpieczny?
  • Co to jest metoda rozszerzenia?
  • Jaka jest różnica między XmlDocument a XmlReader ?
  • Jak odczytać ustawienia konfiguracyjne z pliku konfiguracyjnego aplikacji?
 2
Author: segy,
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
2009-05-16 09:01:25

To jest ciekawe, i na ryzyko, że to w dół-głosowałem za umieszczenie w mojej opinii, ponieważ jestem urodzony głuchy, zadawanie takiego pytania wymagałoby więcej wysiłku w przekazywaniu moich myśli z mojej strony osobiście.

Aby być szczerym, naprawdę nie czytałbym zbyt wiele typowych pytań, ponieważ podstawowym paradygmatem jest " Jak dobrze możesz wokalizować swoje myśli i zrozumienie?', tego naprawdę szuka rozmówca. Komunikowanie się jest zawsze moim największa słabość ze względu na to, jaki jestem i może być sfrustrowany dość łatwo.

Byłoby idealnie, aby mieć wiedzę i być know-it-all typu, ale niestety, są pewne rzeczy, których Nie wiem, ale nie bój się, jeśli rzeczywiście nie znasz odpowiedzi i przyznać się do niej, a nie blefować przez nią. Jeśli ankieter zadał mi pytanie takie jak jedno z powyższych, którego nie byłbym pewien lub źle zrozumiał / źle zinterpretował pytanie, powiedziałbym to z góry, co osobiście może być żenujące, ale nauczyłam się sobie z tym radzić.

Byłabyś zaskoczona, jak wielu faktycznie gofrowało i blefowało przez to, w którym pod koniec dnia przyłapano ich z "opuszczonymi spodniami" metaforycznie mówiąc.

Moje 2cents, Pozdrawiam, Tom.

 2
Author: t0mm13b,
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-01-23 16:43:03

Jeszcze kilka:

  1. Częściowe klasy. A jego ograniczenia?
  2. klasy zamknięte
  3. Jak można dokonać lokalizacji w. Net?
  4. łączność z Bazą Danych
  5. różne pliki konfiguracyjne
  6. delegaci vs wydarzenia
  7. Niezarządzany dostęp dll
  8. refleksje
  9. klasy ogólne
  10. najgorętsze w. NET 3.5
  11. używane ramy do testów jednostkowych.
 2
Author: RameshVel,
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-06-18 20:33:54

Nie zadałbym tych pytań "wiem coś z podręcznika" , ale raczej zadałbym jakieś Majsterkowanie w stylu:

  • co robi pętla foreach w prostym C#? (Oczekuje, że napisze pętlę iteratora.)
  • Co to jest singleton?
  • pozwól mu / jej przetworzyć Łańcuch do Datetime (oczekując, że użyje TryParse zamiast try/catch)
  • implementacja wzorców Singletona, strategii i poleceń
  • Niech Refakturuje fragment kodu do testów. Oczekując od niego / jej abstract usługi zewnętrzne z dala od testowanej jednostki i wdrożyć swój własny Test-double of the service (providing no mocking framework)

Nie są one w 100% Pewne, w zależności od osoby, którą mogę ich zapytać:

  • niech strzeże metody Z null input (oczekując, że użyje wielu zwrotów, aby zmniejszyć zagnieżdżanie)
  • Jak działa obiekt initializer (oczekując, że on/ona napisze przypisanie bezpieczne dla wątku)

Też bym go zapytał jak on / ona nauczył się swoich rzeczy i tego, co czyta (jakie blogi, książki).

 2
Author: Tigraine,
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-06-18 21:09:49

Jeszcze kilka:

Jakie są ograniczenia zbierania śmieci.

Wiem o finalizatorach i IDisposable.

Bądź świadomy puli wątków i kiedy z niej korzystać.

Jeśli robisz aplikacje GUI-pamiętaj, że interfejs Windows jest jednowątkowy.

Użyj foreach (widzę wiele osób robiących MoveNext itp.)

 1
Author: Brian Rasmussen,
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
2008-12-13 17:59:48

Myślę, że to nie powinny być tylko pytania, znam kilku facetów, którzy są genialni, gdy ich przesłuchujesz, ale gdy dotrą do prawdziwej rzeczy, są zbyt perfekcjonistami, powiedziałbym, że nie potrafią źle kodować zadania.

Byłem kiedyś przesłuchiwany i spodobało mi się podejście, w którym pierwszy pracodawca dał mi kwestionariusz techniczny do wypełnienia w 30 minut. Jeśli ktoś się powiedzie, zostanie wezwany na godzinny Wywiad obejmujący ocenę osobowości i znalezienie charakteru pytania plus żargon techniczny.

W takim razie poproszono mnie o stworzenie trzystronicowej aplikacji internetowej w ciągu 6 godzin. Ograniczenia nałożyć w aplikacji był inteligentnie obejmujące główny aspekt rozwoju aplikacji, takich jak mały ERD, projekt Layerd, spójność interfejsu użytkownika, kontroluje konkretne problemy, takie jak za pomocą przycisków radiowych w GridView i pobieranie i wyświetlanie typów obrazów z DB na stronie internetowej, JEDEN rozwój algorytmu, Bezpieczeństwo, Szyfrowanie, haszowanie, reprezentacji danych i manipulacji.

Następnego dnia po nich odbyła się 30-minutowa dyskusja na temat opracowanej aplikacji obejmującej obszary wąskich gardeł wydajności i ulepszeń dotyczących projektowania i używanych algorytmów. I 1 GODZINNY opcjonalny test, aby poprawić algorytm opracowany w poprzednim kroku z określonym warunkiem.

Zajęło to sporo czasu, ale w ten sposób możesz upewnić się, że osoba, którą zatrudniasz, zna przynajmniej te pojęcia, które są niezbędne dla dobrego dewelopera.

 1
Author: S M Kamran,
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-01-23 08:18:43

Wolałbym dać mu problem i poprosić go, aby rozwiązać go za pomocą funkcji. NET wiesz i dlaczego uważasz, że jest to najlepsze rozwiązanie.

To złamie prawie wszystkie możliwości kandydata w zakresie umiejętności technicznych, analitycznych i rozwiązywania problemów wraz z jego podejściem do rozwiązania problemu.

 0
Author: JPReddy,
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-08-13 12:49:47