Pytania podczas rekrutacji .NET Developera – czyli co powinieneś wiedzieć zanim pójdziesz na rozmowę o pracę

Pytania podczas rekrutacji .NET Developera – czyli co powinieneś wiedzieć zanim pójdziesz na rozmowę o pracę

Artykuł ten wyjątkowo jest skierowany do osób z mniejszym doświadczeniem, i starających się znaleźć swoją pierwszą pracę jako .NET Developer. Dla bardziej doświadczony developerów, temat z lekkim przymrużeniem oka ;). Po przejściu wstępnych rozmów z miłymi Paniami z HR, na rozmowie technicznej istnieje bardzo duże prawdopodobieństwo, że usłyszysz jedno z tych pytań:

  1.  Co to jest boxing i unboxing
  2. Różnica między interfejsem a klasą abstrakcyjną
  3. Czy można dziedziczyć wiele klas
  4. Czy można implementować wiele interfejsów
  5. Rodzaje dostępu klasy
  6. Typy wartościowe i referencyjne
  7. Czym jest Refleksja
  8. Co to są typy generyczne
  9. Czym są przeciążenia operatorów
  10. Co to jest Garbage collector
  11. Opisz różnicę między var a dynamic
  12. Opisz dowolny wzorzec projektowy
  13. Po co się stosuje wzorce projektowe
  14. Co to są atrybuty
  15. Czy jesteśmy wstanie stworzyć własne atrybuty?
  16. Rodzaje pętli
  17. Czym jest WCF, oraz zasada ABC
  18. Czym jest Inversion Of Control?
  19. Czym jest TDD ?
  20. Różnica między catch(Exception e){throw e;} a catch(Exception e){throw;} 
  21. Sposoby logowania życia cykli aplikacji
  22. Sposoby pomiaru wydajności strony
  23. Sposoby włamania na stronę www, potencjalne zagrożenia
  24. Co to są triggery
  25. Co to są procedury składowe
  26. Wymień poziomy izolacji transakcji w SQL Server i pokrótce omów czym się różnią
  27. Czym jest ORM?
  28. Co to jest LazyLoading w ORM i jak jest zaimplementowany?
  29. Różnica między metodą wirtualną a abstrakcyjną
  30. Róznica między FileStream i MemoryStream
  31. W których klauzulach SQL możemy zagnieżdżać Selecty

Przykładowe zadania:

  • Napisz funkcję sprawdzającą  poprawność rozmieszczonych nawiasów w stringu:

Poprawne rozmieszczenie:

  1. ( )
  2. ( ) ( )
  3. (( ))
  4. ( ) (( )) ( ) ((( )))

Niepoprawne rozmieszczenie:

  1. )
  2. (
  3. ) (
  4. ( ) )
  5. ( ) ((( )) ( )
  6. ( ) (( )) ( ) ) (

 

  • Napisz silnię dwoma sposobami
  • Napisz ciąg fibonacciego
  • Napisz prostą funkcję zamieniającą kolejność słów bez użycia LINQ, np: „Ala ma kota.” -> „kota ma Ala.”, zwróć uwagę na kropkę
  • Napisz prostą funkcję usuwającą powtórzenia w tablicy, bez używania LINQ
  • Mając dwie tabele SQL z pracownikami oraz zarobkami wyświetl kto ile zarobił w danym okresie

 

Jeżeli spotkałeś się z pytaniami, których nie wymieniłem w powyższym artykule, napisz o nich w komentarzu – chętnie dopiszę je do listy.

 

Za podesłane pytania podziękowania dla Marcin, Ana oraz DarkNivo

  • Ja mogę dodać od siebie:

    1. Wymień poziomy izolacji transakcji w SQL Server i pokrótce omów czym się różnią
    2. Czym jest ORM? Co to jest LazyLoading w ORM i jak jest zaimplementowany?

    W sumie to nie pamiętam aby ktoś mnie pytał o triggery na rozmowach, teraz raczej pyta się o ORMy.

    • Adrian Szeń

      Dzięki za propozycje, dodałem do listy !

  • Ana

    Kilka ode mnie 🙂
    1. Różnica między metodą wirtualną a abstrakcyjną
    2. Róznica między FileStream i MemoryStream.
    3. W których klauzulach SQL możemy zagnieżdżać Selecty

    • Adrian Szeń

      Dzięki ! Dziś dodam pytania listy 😉

  • Mateusz

    Nie miałem nigdy do czynienia z programistą net i troszkę dziwi mnie ta lista. Czy to oznacza, że net developer to człowiek od wszystkiego?

    • Adrian Szeń

      Nie wiem, w jakim języku programujesz. Myślę jednak, że takie pytania z wiedzy fundamentalnej występują także podczas rekrutacji w innych językach np. Java, C++. Pytania z artykułu sprawdzają czy osoba ma podstawową wiedzę i występują one bardzo często na rekrutacji. Jednak nie jestem zwolennikiem takich pytań. Moim zdaniem powinno być więcej zadań do rozwiązania proponując jakiś pseudo kod, wtedy można zobaczyć sposób myślenia.

      • Michal Mindykowski

        Ja rowniez nie popieram tego typu pytan, tym bardziej ze kandydat moze sie „wykuc” odpowiedzi i to nie znaczy, ze umie programowac.
        Jeden z powodow, dlaczego zaakceptowalem oferte z obecnej firmy bylo inne podejscie.
        Dostalem komputer z dostepem do internetu. Mialem zaprojektowac prosta baze danych, nastepnie stored procedure. Wtedy musialem stworzyc maly projekt WCF i do tego front-end, ktory bedzie wyswietla dane z bazy, uzywajac WCF i stored procedure. Mialem przy tym fajna zabawe i pogadalem o kodzie po wykonaniu zadan.

Comments are closed.