Wróć do bloga

5 pytań przed zatrudnieniem programisty Python

Pięć pytań rekrutacyjnych o Pythona: współbieżność i GIL, domyślne argumenty mutowalne, menedżery kontekstu, nawyki w pytest i kompromisy produkcyjne.

Inne wersje językowe: EnglishTürkçeDeutschSuomi

Ekran laptopa pełen kolorowego kodu źródłowego w ciemnym edytorze
Zdjęcie: stocksnap, Pixabay

Python należy do najczęściej używanych języków według Stack Overflow 2025 Developer Survey, obejmując API, dane i automatyzację. Wpisanie „Python” w CV jest powszechne. Udowodnienie praktycznego osądu w produkcji już nie. Dyskusje na r/learnpython i wątki o rozmowach na stanowiska backendowe nagradzają dopasowanie do realnego obciążenia zamiast wiedzy z ciekawostek.

Te pięć pytań pokazuje wybory dotyczące współbieżności, bezpieczne domyślne ustawienia, prawdziwe abstrakcje, nawyki testowe i kompromisy przy wdrożeniach, a nie wiedzę o wnętrznościach „hello world”.

1. „W prawdziwym projekcie, za który odpowiadałeś, kiedy sprawdzały się wątki, kiedy procesy, i jak GIL wpłynął na tę decyzję?”

Mocni kandydaci przypisują zadania ograniczone przez CPU do procesów lub rozszerzeń natywnych, a zadania ograniczone przez I/O do wątków lub async. Słabe odpowiedzi ograniczają się do „GIL jest zły” bez kontekstu obciążenia.

2. „Jak domyślny argument mutowalny gryzie w praktyce i jak go unikasz?”

Chcesz konkretnej historii błędu (lista lub słownik współdzielony między wywołaniami) i wzorca z None oraz inicjalizacją wewnątrz funkcji. Słabe odpowiedzi nie potrafią wyjaśnić, dlaczego wartość domyślna jest obliczana tylko raz.

3. „Opisz menedżer kontekstu lub dekorator, który wdrożyłeś. Jaki problem rozwiązywał?”

Doświadczenie z praktyki wygrywa z definicjami. Mocni kandydaci wspominają o sprzątaniu zasobów, ponawianiu prób, pomiarze czasu lub opakowaniach uwierzytelniania, które sami utrzymywali. Słabe odpowiedzi tylko recytują with open.

4. „Jak testujesz w pytest? Co mockujesz, a co integrujesz?”

Dojrzałe odpowiedzi wyznaczają granicę: testy jednostkowe dla logiki, mniej mocków na granicach systemu i fixture’y, którym ufają. Słabe odpowiedzi mockują wszystko albo wdrażają bez testów.

5. „Opowiedz o incydencie produkcyjnym albo o API lub funkcji, które wdrożyłeś. Jakie kompromisy zaakceptowałeś?”

Dowiesz się o poczuciu odpowiedzialności. Dobre odpowiedzi obejmują przyczynę źródłową lub cięcia zakresu. Słabe odpowiedzi pozostają ogólne albo obwiniają wyłącznie narzędzia.

Zamień odpowiedzi w porównywalne dowody

Dla każdego finalisty zapisz jeden wybór dotyczący współbieżności, jeden nawyk z domyślnymi argumentami, jedną abstrakcję, którą wdrożył, i jedną historię o testach lub incydencie.

Jedna karta oceny dla każdego finalisty

Używaj tych samych pięciu pytań wobec każdego kandydata na to stanowisko. Spójne pytania wspierają spójną ocenę, zgodnie z wytycznymi EEOC dla pracodawców, by stosowali te same standardy wobec kandydatów na to samo stanowisko (EEOC).

Użyj Canvider JobCraft, aby w ogłoszeniu określić stack Python i poziom seniority, InterviewGen do pytań uzupełniających opartych na lukach, a DecisionHelper, by porównać finalistów według opublikowanych kryteriów.

Następny krok: poznaj InterviewGen i DecisionHelper, a potem zacznij za darmo.