Jeśli szukasz porządnego programisty, musisz oczywiście sprawdzić umiejętności kandydatów w zakresie wytwarzania oprogramowania. Twój przyszły programista .NET powinien znać nie tylko Microsoft .NET Framework, lecz także skuteczne techniki programowania i wytwarzania oprogramowania. Poza innymi trudnymi pytaniami rekrutacyjnymi dla programisty .NET rekruter powinien sprawdzić wiedzę techniczną kandydatów na temat .NET Framework.
Ta lista przyda się także kandydatom przygotowującym się do rozmowy.
Dlatego ten artykuł z listą pytań i odpowiedzi rekrutacyjnych dla programistów .NET pomoże obu stronom rozmowy.
01
Platforma .NET wspiera podejście obiektowe wykorzystywane do budowania aplikacji na Windowsa. Obsługuje różne języki, takie jak C#, VB, Cobol, Perl, .NET itd. Ma szeroki zestaw narzędzi i funkcji — klasy, biblioteki i API — używanych do budowania, wdrażania i uruchamiania usług sieciowych oraz różnych aplikacji.
02
Oto komponenty platformy .NET:
03
CTS to skrót od Common Type System. Stosuje określone reguły, według których typ danych musi być zadeklarowany i używany w kodzie programu. CTS opisuje też typy danych, które będą używane w aplikacji. Możemy nawet tworzyć własne klasy i funkcje zgodne z regułami CTS — pomaga to wywoływać typ danych zadeklarowany w jednym języku programowania z poziomu innych języków.
04
CLR to skrót od common language run-time; to kluczowy komponent platformy .NET. CLR możemy wykorzystać jako element budulcowy różnych aplikacji, zapewniający im bezpieczne środowisko uruchomieniowe.
Za każdym razem, gdy aplikacja napisana w C# jest kompilowana, kod jest zamieniany na język pośredni. Kod trafia następnie do CLR, który wykonuje szereg operacji, takich jak zarządzanie pamięcią, kontrole bezpieczeństwa, ładowanie zestawów i zarządzanie wątkami.
05
Common Language Specification pomaga programistom korzystać z komponentów zgodnych w różnych językach dzięki określonym regułom, które niesie CLS. Pomaga to następnie ponownie wykorzystywać kod w innych językach zgodnych z .NET.
06
JIT to kompilator, którego nazwa oznacza Just In Time. Służy do zamiany kodu pośredniego na język natywny. Kod pośredni jest zamieniany na język natywny w czasie działania programu.
07
MIME to skrót od Multipurpose Email Extensions; to rozszerzenie protokołu poczty elektronicznej, które pozwala użytkownikom wymieniać pliki przez internet.
Serwery wstawiają nagłówek MIME na początku transferu WWW. Klienci używają następnie tego nagłówka, żeby wybrać odpowiedni „odtwarzacz” dla typu danych wskazanego przez nagłówek. Część z nich jest wbudowana w przeglądarkę.
08
Response.Redirect po prostu przekierowuje przeglądarkę użytkownika na inną stronę lub witrynę. Historia przeglądarki użytkownika jest przy tym aktualizowana o nowy adres URL. Wykonywany jest też powrót do klienta, którego przeglądarka zostaje przekierowana na nową stronę.
Z kolei Server.Transfer przenosi z jednej strony na drugą bez powrotu do przeglądarki klienta. W przypadku Server.Transfer historia nie jest aktualizowana.
09
10
Zestaw (assembly) to fizyczna grupa jednostek logicznych, a przestrzeń nazw to grupa klas. Dodatkowo przestrzeń nazw może obejmować wiele zestawów.
01
To skrót od Language Integrated Query, wprowadzony w Visual Studio 2008. LINQ to zestaw funkcji rozszerzających możliwości zapytań o składnię języków platformy .NET, co pozwala manipulować danymi niezależnie od ich źródła. LINQ wypełnia lukę między światem obiektów a światem danych.
02
MSIL to język pośredni Microsoftu; dostarcza instrukcje wywoływania metod, przechowywania i inicjalizowania wartości, obsługi pamięci, obsługi wyjątków i tak dalej. Cały kod .NET jest najpierw kompilowany do języka pośredniego.
03
Poniżej wymieniono poszczególne części zestawu:
04
Oto rodzaje konstruktorów w C#:
05
Są dwa rodzaje zestawów:
06
07
Odśmiecacz pamięci .NET zwalnia nieużywane obiekty kodu w pamięci. Sterta pamięci jest podzielona na 3 generacje:
Odśmiecanie pamięci polega na zbieraniu obiektów przechowywanych w kolejnych generacjach.
08
Buforowanie oznacza po prostu tymczasowe przechowywanie danych w pamięci, tak aby można było je pobierać z pamięci zamiast szukać ich w pierwotnej lokalizacji. Zwiększa to wydajność aplikacji, a także jej szybkość.
Oto rodzaje buforowania:
09
MVC to skrót od Model View Controller — architektury służącej do budowania aplikacji .NET.
Controller: Obsługują interakcje użytkownika, definiują reakcje na jego działania, a także renderują widok potrzebny do interakcji z użytkownikiem.
10
CAS to skrót od Code Access Security. CAS jest częścią modelu bezpieczeństwa, który zapobiega nieautoryzowanemu dostępowi do zasobów. Pozwala też ustawiać uprawnienia kodu. CLR wykonuje następnie kod zgodnie z tymi uprawnieniami.
CAS można stosować wyłącznie do kodu zarządzanego. Jeśli zestaw korzysta z CAS, jest uznawany za częściowo zaufany — mimo że przy każdej próbie dostępu do zasobów przechodzi kontrole.
01
ASP.NET wprowadza pojęcie domeny aplikacji (AppDomain), która działa jak lekki proces pełniący rolę kontenera i granicy. Środowisko uruchomieniowe .NET używa domeny aplikacji jako kontenera na dane i kod. CLR pozwala uruchamiać wiele aplikacji .NET w tej samej domenie aplikacji.
02
Delegat w .NET jest jak wskaźnik na funkcję w innych językach programowania, takich jak C czy C++. Delegat pozwala hermetyzować referencję do metody w obiekcie delegata. Taki obiekt można następnie przekazać do programu, który wywoła wskazaną metodę. Możemy nawet użyć metody delegata, żeby utworzyć własne zdarzenie w klasie.
03
Walidacja po stronie klienta - gdy walidacja odbywa się w przeglądarce po stronie klienta, nazywamy ją walidacją po stronie klienta. Zwykle używa się do niej JavaScriptu.
Walidacja po stronie serwera - gdy walidacja odbywa się na serwerze, nazywamy ją walidacją po stronie serwera. Walidacja po stronie serwera jest uznawana za bezpieczną formę walidacji, ponieważ nawet jeśli użytkownik ominie walidację po stronie klienta, wciąż możemy to wychwycić na serwerze.
04
EXE i DLL to wykonywalne moduły zestawów.
EXE: To plik wykonywalny, który uruchamia aplikację, dla której powstał. Gdy tworzymy aplikację, powstaje plik exe. Zestawy są więc ładowane bezpośrednio przy uruchomieniu pliku exe. Pliku exe nie można jednak współdzielić z innymi aplikacjami.
DLL: To biblioteka dołączana dynamicznie, zawierająca kod, który ma pozostać ukryty. Kod jest w niej hermetyzowany; aplikacja może mieć wiele plików DLL, można je też współdzielić z innymi aplikacjami.
05
Zabezpieczenia oparte na rolach służą do wdrażania kontroli dostępu w oparciu o rolę przypisaną użytkownikom w organizacji. Możemy wtedy autoryzować użytkowników na podstawie ich ról w organizacji. Na przykład Windows udziela dostępu w oparciu o role takie jak użytkownicy, administratorzy i goście.
06
Za każdym razem, gdy klikamy przycisk wysyłania na stronie, dane są zapisywane na tej samej stronie. Jeśli jednak dane trafiają na inną stronę, nazywamy to publikowaniem między stronami.
Publikowanie między stronami można zrealizować za pomocą właściwości POSTBACKURL, która wyzwala postback.
Metody FindControl można użyć, aby pobrać wartości opublikowane na stronie, do której zostały wysłane.
07
Podczas uwierzytelniania Passport najpierw sprawdzany jest plik cookie uwierzytelniania Passport; jeśli go nie ma, aplikacja przekierowuje na stronę logowania Passport. Usługa Passport uwierzytelnia następnie dane logowania użytkownika, a jeśli są poprawne, zapisuje je na komputerze klienta i przekierowuje użytkownika na żądaną stronę.
08
09
Każde żądanie do aplikacji ASP.NET jest przetwarzane przez wyspecjalizowany komponent nazywany HTTP handlerem. To najważniejszy komponent obsługujący żądania w aplikacjach ASP.NET.
Używa różnych handlerów do obsługi różnych plików. Handler strony internetowej tworzy stronę i kontrolki, uruchamia Twój kod, a następnie renderuje ostateczny kod HTML.
Oto domyślne handlery HTTP w ASP.NET:
10
Jeśli chcemy ustawić wartości definiowane przez użytkownika dla wszystkich aplikacji, możemy użyć bloku appSettings w pliku web.config. Na przykład poniższy kod używa ConnectionString w całym projekcie do połączenia z bazą danych:
<em><configuration>
<appsettings>
<add key= "ConnectionString" value="server=local; pwd=password; database=default" />
</appSettings></em>
W naszej sieci talentów są setki sprawdzonych w boju ekspertów od tworzenia oprogramowania.
Jesteś programistą .NET i szukasz świetnych projektów? Dołącz jako specjalista
Dane rejestrowe:
Firma
Usługi
Najczęściej poszukiwani specjaliści