Przygotowaliśmy najczęściej zadawane pytania i odpowiedzi do wywiadów w Pythonie, które pomogą Ci przygotować się na pytania do rozmowy kwalifikacyjnej w Pythonie, które ankieter może zadać podczas rozmowy kwalifikacyjnej. Na tej liście pytań do rozmowy kwalifikacyjnej Python Scripting uwzględniliśmy wszystkie często zadawane podstawowe i zaawansowane pytania dotyczące programowania w Pythonie wraz ze szczegółowymi odpowiedziami, które pomogą Ci łatwo wyczyścić rozmowę kwalifikacyjną.
Omówiliśmy prawie wszystkie ważne pytania do rozmowy kwalifikacyjnej Python dla świeżo upieczonych i doświadczonych kandydatów, aby pomóc Ci przygotować się do nadchodzącej rozmowy kwalifikacyjnej. Ten szczegółowy przewodnik z pytaniami do rozmowy kwalifikacyjnej z zakresu kodowania w języku Python pomoże Ci złamać rozmowę kwalifikacyjną dotyczącą programowania w języku Python.
Pobierz PDF z pytaniami do wywiadu w Pythonie
Python Basic Pytania i odpowiedzi do wywiadów dla świeżo upieczonych i doświadczonych
1) Co to jest Python? Jakie są zalety używania Pythona?
Python to język programowania z obiektami, modułami, wątkami, wyjątkami i automatycznym zarządzaniem pamięcią. Zaletą Pythonów jest to, że jest prosta i łatwa, przenośna, rozszerzalna, wbudowana struktura danych i jest open source.
2) Co to jest PEP 8?
PEP 8 to konwencja kodowania, zbiór zaleceń dotyczących tego, jak napisać kod Pythona bardziej czytelnym.
3) Co to jest wytrawianie i wytrawianie?
Moduł Pickle akceptuje dowolny obiekt Pythona i konwertuje go na reprezentację łańcuchową i zrzuca do pliku za pomocą funkcji dump, proces ten nazywa się wytrawianiem. Podczas gdy proces pobierania oryginalnych obiektów Pythona z przechowywanej reprezentacji ciągu nazywany jest unpickling.
4) Jak interpretowany jest Python?
Język Python jest językiem interpretowanym. Program w Pythonie działa bezpośrednio z kodu źródłowego. Konwertuje kod źródłowy napisany przez programistę na język pośredni, który jest ponownie tłumaczony na język maszynowy, który ma zostać wykonany.
5) Jak zarządzana jest pamięć w Pythonie?
- Pamięć Pythona jest zarządzana przez prywatną stertę Pythona. Wszystkie obiekty i struktury danych Pythona znajdują się na prywatnej stercie. Programista nie ma dostępu do tej prywatnej sterty, a interpreter zajmuje się tą prywatną stertą Pythona.
- Alokację miejsca na stercie języka Python dla obiektów języka Python wykonuje menedżer pamięci języka Python. Rdzeń API daje programiście dostęp do niektórych narzędzi do kodowania.
- Python ma również wbudowany moduł odśmiecania pamięci, który przetwarza całą nieużywaną pamięć i zwalnia pamięć i udostępnia ją w miejscu na stercie.
6) Jakie narzędzia pomagają znaleźć błędy lub przeprowadzić analizę statyczną?
PyChecker to narzędzie do analizy statycznej, które wykrywa błędy w kodzie źródłowym Pythona i ostrzega o stylu i złożoności błędu. Pylint to kolejne narzędzie weryfikujące zgodność modułu ze standardem kodowania.
7) Co to są dekoratory w Pythonie?
Dekorator Pythona to specyficzna zmiana, którą wprowadzamy w składni Pythona, aby łatwo zmieniać funkcje.
8) Jaka jest różnica między listą a krotką?
Różnica między listą a krotką polega na tym, że lista jest zmienna, a krotka nie. Krotkę można zaszyfrować np. Jako klucz do słowników.
9) W jaki sposób argumenty są przekazywane przez wartość lub przez odniesienie?
Wszystko w Pythonie jest obiektem, a wszystkie zmienne zawierają odniesienia do obiektów. Wartości odniesienia są zgodne z funkcjami; w rezultacie nie można zmienić wartości odniesień. Możesz jednak zmieniać obiekty, jeśli są zmienne.
10) Co to jest rozumienie dyktowania i listy?
Są to konstrukcje składniowe ułatwiające tworzenie słownika lub listy w oparciu o istniejącą iterowalność.
11) Jakie typy wbudowane zapewnia Python?
Istnieją mutable i Immutable typy Pythona wbudowane w typy Mutable typy wbudowane
- Lista
- Zestawy
- Słowniki
Niezmienne typy wbudowane
- Smyczki
- Krotki
- Liczby
12) Co to jest przestrzeń nazw w Pythonie?
W Pythonie każda wprowadzona nazwa ma swoje miejsce, w którym żyje i do której można się przyczepić. Nazywa się to przestrzenią nazw. Przypomina pudełko, w którym nazwa zmiennej jest przypisana do umieszczonego obiektu. Za każdym razem, gdy zmienna jest przeszukiwana, to pole będzie przeszukiwane w celu pobrania odpowiedniego obiektu.
13) Co to jest lambda w Pythonie?
Jest to anonimowa funkcja pojedynczego wyrażenia, często używana jako funkcja wbudowana.
14) Dlaczego formy lambda w Pythonie nie zawierają instrukcji?
Forma lambda w Pythonie nie zawiera instrukcji, ponieważ jest używana do tworzenia nowego obiektu funkcji, a następnie zwracania ich w czasie wykonywania.
15) Co jest przekazywane w Pythonie?
Pass oznacza instrukcję Pythona bez operacji lub innymi słowy jest to symbol zastępczy w instrukcji złożonej, w którym powinno pozostać puste miejsce i nic nie musi być tam zapisane.
16) Czym są iteratory w Pythonie?
W Pythonie iteratory służą do iteracji grupy elementów, kontenerów, takich jak lista.
17) Co jest unittest w Pythonie?
Struktura testów jednostkowych w Pythonie jest znana jako unittest. Obsługuje udostępnianie konfiguracji, testowanie automatyzacji, kod zamykania testów, agregację testów w kolekcje itp.
18) Co to jest slicing w Pythonie?
Mechanizm wybierania zakresu elementów z typów sekwencji, takich jak lista, krotka, łańcuchy itp., Jest znany jako wycinanie.
19) Co to są generatory w Pythonie?
Sposób implementacji iteratorów jest znany jako generatory. Jest to normalna funkcja, z tą różnicą, że daje wyrażenie w funkcji.
20) Co to jest docstring w Pythonie?
Ciąg dokumentacji Pythona jest znany jako docstring, jest to sposób dokumentowania funkcji, modułów i klas Pythona.
21) Jak skopiować obiekt w Pythonie?
Aby skopiować obiekt w Pythonie, możesz spróbować copy.copy () lub copy.deepcopy () w ogólnym przypadku. Nie możesz skopiować wszystkich obiektów, ale większość z nich.
22) Co to jest indeks ujemny w Pythonie?
Sekwencje Pythona mogą być indeksowane w liczbach dodatnich i ujemnych. Dla indeksu dodatniego 0 to pierwszy indeks, 1 to drugi indeks i tak dalej. W przypadku indeksu ujemnego (-1) to ostatni indeks, a (-2) to przedostatni indeks i tak dalej.
23) Jak przekonwertować liczbę na ciąg?
Aby przekonwertować liczbę na łańcuch, użyj wbudowanej funkcji str (). Jeśli potrzebujesz reprezentacji ósemkowej lub szesnastkowej, użyj wbudowanej funkcji oct () lub hex ().
24) Jaka jest różnica między Xrange a range?
Xrange zwraca obiekt xrange, podczas gdy range zwraca listę i używa tej samej pamięci bez względu na rozmiar zakresu.
25) Co to jest moduł i pakiet w Pythonie?
W Pythonie moduł to sposób na strukturyzację programu. Każdy plik programu w Pythonie jest modułem, który importuje inne moduły, takie jak obiekty i atrybuty.
Folder programu w języku Python to pakiet modułów. Pakiet może mieć moduły lub podfoldery.
26) Wspomnij, jakie reguły obowiązują dla zmiennych lokalnych i globalnych w Pythonie?
Zmienne lokalne : jeśli zmiennej przypisano nową wartość w dowolnym miejscu w treści funkcji, przyjmuje się, że jest ona lokalna.
Zmienne globalne : zmienne, do których istnieją odwołania tylko wewnątrz funkcji, są niejawnie globalne.
27) W jaki sposób można udostępniać zmienne globalne w modułach?
Aby udostępniać zmienne globalne między modułami w ramach jednego programu, utwórz specjalny moduł. Zaimportuj moduł konfiguracyjny do wszystkich modułów aplikacji. Moduł będzie dostępny jako zmienna globalna w różnych modułach.
28) Wyjaśnij, jak można utworzyć skrypt Pythona jako wykonywalny w systemie Unix?
Aby uczynić skrypt Pythona wykonywalnym w systemie Unix, musisz zrobić dwie rzeczy:
- Tryb pliku skryptu musi być wykonywalny i
- pierwsza linia musi zaczynać się od # (#! / usr / local / bin / python)
29) Wyjaśnij, jak usunąć plik w Pythonie?
Za pomocą polecenia os.remove (nazwa pliku) lub os.unlink (nazwa pliku)
30) Wyjaśnij, jak możesz generować liczby losowe w Pythonie?
Aby wygenerować liczby losowe w Pythonie, musisz zaimportować polecenie jako
importuj losowo
random.random ()
Zwraca losową liczbę zmiennoprzecinkową z zakresu [0,1)
31) Wyjaśnij, w jaki sposób możesz uzyskać dostęp do modułu napisanego w Pythonie z poziomu C?
Możesz uzyskać dostęp do modułu napisanego w Pythonie z C za pomocą następującej metody,
Module = = PyImport_ImportModule ("
32) Wspomnij o użyciu operatora // w Pythonie?
Jest to operator dzielenia piętra, który służy do dzielenia dwóch operandów z wynikiem jako ilorazem pokazującym tylko cyfry przed przecinkiem. Na przykład 10 // 5 = 2 i 10,0 // 5,0 = 2,0.
33) Wspomnij o pięciu zaletach używania Pythona?
- Python składa się z ogromnej biblioteki standardowej dla większości platform internetowych, takich jak poczta e-mail, HTML itp.
- Python nie wymaga jawnego zarządzania pamięcią, ponieważ interpreter sam przydziela pamięć nowym zmiennym i automatycznie je zwalnia
- Zapewniają łatwą czytelność dzięki zastosowaniu nawiasów kwadratowych
- Łatwy do nauczenia dla początkujących
- Posiadanie wbudowanych typów danych oszczędza czas programowania i wysiłek związany z deklarowaniem zmiennych
34) Wspomnij o zastosowaniu funkcji podziału w Pythonie ?
Użycie funkcji split w Pythonie polega na tym, że dzieli ciąg na krótsze ciągi za pomocą zdefiniowanego separatora. Daje listę wszystkich słów obecnych w ciągu.
35) Wyjaśnij, czym jest Flask i jakie ma zalety ?
Flask to mikro framework sieciowy dla Pythona oparty na licencji BSD "Werkzeug, Jinja 2 i dobre intencje". Werkzeug i jingja to dwie z jego zależności.
Flask jest częścią mikro-ramy. Co oznacza, że będzie miał niewielkie lub żadne zależności od zewnętrznych bibliotek. Sprawia, że struktura jest lekka, podczas gdy istnieje niewielka zależność od aktualizacji i mniej błędów bezpieczeństwa.
36) Wspomnij, jaka jest różnica między Django, Pyramid i Flask?
Flask to „microframework” stworzony głównie dla małych aplikacji o prostszych wymaganiach. W kolbie nie musisz używać zewnętrznych bibliotek. Kolba jest gotowa do użycia.
Piramidy są budowane dla większych aplikacji. Zapewnia elastyczność i pozwala programistom używać odpowiednich narzędzi do ich projektu. Deweloper może wybrać bazę danych, strukturę adresu URL, styl szablonów i nie tylko. Piramida jest ciężka, konfigurowalna.
Podobnie jak Pyramid, Django może również służyć do większych aplikacji. Zawiera ORM.
37) Wspomnij, czym jest Flask-WTF i jakie ma cechy?
Flask-WTF oferuje prostą integrację z WTForms. Funkcje obejmują Flask WTF są
- Integracja z wtforms
- Bezpieczny formularz za pomocą tokena CSRF
- Globalna ochrona CSRF
- Integracja internacjonalizacji
- Wsparcie Recaptcha
- Przesyłanie plików, które działa z przesyłaniem z Flask
38) Wyjaśnij, jaki jest typowy sposób działania skryptu Flask?
Typowy sposób działania skryptu flask to
- Powinna to być ścieżka importu aplikacji
- Lub ścieżka do pliku Pythona
39) Wyjaśnij, w jaki sposób możesz uzyskać dostęp do sesji w Flask?
Sesja zasadniczo pozwala zapamiętać informacje z jednego żądania do drugiego. W kolbie używa podpisanego pliku cookie, aby użytkownik mógł przeglądać zawartość sesji i modyfikować. Użytkownik może modyfikować sesję, jeśli tylko ma tajny klucz Flask.secret_key.
40) Czy Flask jest modelem MVC, a jeśli tak, podaj przykład pokazujący wzorzec MVC dla Twojej aplikacji?
Zasadniczo Flask to minimalistyczny framework, który zachowuje się tak samo jak framework MVC. Zatem MVC idealnie pasuje do Flask, a wzorzec dla MVC rozważymy w poniższym przykładzie
import z kolby Flask app = Flask (_name_) @ app.route („/”) Def hello (): powrót "Witaj świecie" app.run (debug = True) |
W tym kodzie Twoje,
import z kolby Flask app = Flask (_name_)
@ app.route („/”) Def hello (): powrót "Witaj świecie"
app.run (debug = True) |
41) Wyjaśnij połączenie bazy danych w Python Flask?
Flask obsługuje aplikację opartą na bazie danych (RDBS). Taki system wymaga stworzenia schematu, co wymaga przekierowania pliku shema.sql do polecenia sqlite3. Musisz więc zainstalować polecenie sqlite3, aby utworzyć lub zainicjować bazę danych w Flasku.
Flask umożliwia żądanie bazy danych na trzy sposoby
- before_request (): są wywoływane przed żądaniem i nie przekazują żadnych argumentów
- after_request (): są wywoływane po żądaniu i przekazują odpowiedź, która zostanie wysłana do klienta
- teardown_request (): są wywoływane w sytuacji, gdy zgłaszany jest wyjątek, a odpowiedź nie jest gwarantowana. Są wywoływane po skonstruowaniu odpowiedzi. Nie mogą modyfikować żądania, a ich wartości są ignorowane.
42) Masz wiele serwerów Memcache z uruchomionym Pythonem, na którym jeden z serwerów memcacher uległ awarii i zawiera Twoje dane. Czy kiedykolwiek będzie próbował uzyskać kluczowe dane z tego jednego, który uległ awarii?
Dane na serwerze, który uległ awarii, nie zostaną usunięte, ale istnieje przepis dotyczący automatycznej awarii, który można skonfigurować dla wielu węzłów. Przełączanie awaryjne może być wyzwalane podczas wszelkiego rodzaju błędów na poziomie gniazda lub serwera Memcached, a nie podczas normalnych błędów klienta, takich jak dodanie istniejącego klucza itp.
43) Wyjaśnij, w jaki sposób możesz zminimalizować awarie serwera Memcached podczas programowania w Pythonie?
- Gdy jedna instancja ulegnie awarii, kilka z nich ulegnie awarii, co spowoduje większe obciążenie serwera bazy danych, gdy utracone dane zostaną ponownie załadowane, gdy klient wysyła żądanie. Aby tego uniknąć, jeśli Twój kod został napisany w celu zminimalizowania znaczników pamięci podręcznej, pozostawi to minimalny wpływ
- Innym sposobem jest wywołanie instancji Memcached na nowym komputerze przy użyciu adresu IP utraconego komputera
- Kod jest kolejną opcją minimalizującą przestoje serwerów, ponieważ umożliwia zmianę listy serwerów Memcached przy minimalnym nakładzie pracy
- Ustawienie wartości limitu czasu to kolejna opcja, którą niektórzy klienci Memcached implementują w przypadku awarii serwera Memcached. Kiedy twój serwer Memcached przestanie działać, klient będzie próbował wysłać żądanie, aż do osiągnięcia limitu czasu
44) Wyjaśnij, czym jest efekt Dogpile? Jak możesz zapobiec temu efektowi?
Efekt Dogpile odnosi się do zdarzenia, w którym wygasa pamięć podręczna, a strony internetowe są odwiedzane przez wiele żądań klienta w tym samym czasie. Efektowi temu można zapobiec stosując blokadę semafora. W tym systemie po wygaśnięciu wartości pierwszy proces uzyskuje blokadę i rozpoczyna generowanie nowej wartości.
45) Wyjaśnij, w jaki sposób Memcached nie powinien być używany w twoim projekcie Pythona?
- Częstym nadużyciem Memcached jest używanie go jako magazynu danych, a nie pamięci podręcznej
- Nigdy nie używaj Memcached jako jedynego źródła informacji potrzebnych do uruchomienia aplikacji. Dane powinny być zawsze dostępne również z innego źródła
- Memcached to tylko magazyn kluczy lub wartości i nie może wykonywać zapytań dotyczących danych ani iterować po zawartości w celu wyodrębnienia informacji
- Memcached nie oferuje żadnej formy bezpieczeństwa ani w zakresie szyfrowania, ani uwierzytelniania