Czy mogę używać AI do ćwiczenia rozmów z projektowania systemów?
Autor: Aaron Cao · Zaktualizowano

Tak. AI może pomóc Ci ćwiczyć analizę wymagań, szacowanie wydajności, objaśnianie architektury i omawianie kompromisów. Poproś, aby zadawała Ci po jednym pytaniu i nie przedstawiała proponowanego projektu, dopóki nie skończysz. Narysuj własny diagram, zweryfikuj techniczne informacje zwrotne i powtórz fragmenty, których wyjaśnienie sprawiło Ci trudność.
Jak sprawić, by AI zachowywała się jak rekruter?
Jeśli AI od razu przedstawi gotową architekturę, stracisz okazję do ćwiczenia podejmowania decyzji. Poniższa konfiguracja pozostawia odpowiedzialność za odpowiedź po Twojej stronie dzięki konkretnemu poleceniu dla rekrutera i zasadom opóźniania podpowiedzi.
Użyj tego polecenia w narzędziu AI, które przyjmuje instrukcje konwersacyjne:
Wciel się w rekrutera prowadzącego rozmowę z projektowania systemów na stanowisko starszego inżyniera backendu. Poproś mnie o zaprojektowanie usługi dostarczania webhooków. Pozwól mi doprecyzować wymagania przed zaproponowaniem komponentów. Zadawaj po jednym pytaniu i czekaj na moją odpowiedź. Kwestionuj moje założenia dotyczące ruchu, gwarancji dostarczenia i awarii. Nie pokazuj architektury referencyjnej ani nie udzielaj wskazówek, chyba że o nie poproszę. Gdy skończę, wskaż pominięcia i wątpliwe stwierdzenia, wykorzystując konkretne przykłady z moich odpowiedzi.
Zastąp stanowisko i problem własnym celem. Jeśli AI zacznie kończyć projekt za Ciebie, poproś ją o powrót do zadawania pytań. Odpowiadaj na głos i rysuj w trakcie rozmowy, nawet jeśli musisz wpisać do narzędzia podsumowanie.
Aby poznać ofertę ćwiczeń SubcueAI, odwiedź stronę próbnych rozmów.
Co należy omówić podczas próbnej rozmowy na czas?
Przed rozpoczęciem ustal limit czasu na ćwiczenie. Poniższy 40-minutowy układ jest planem próby, a nie opisem formatu rozmowy stosowanego przez konkretnego pracodawcę:
- Wymagania, 5 minut: Określ użytkowników, podstawowe operacje, wykluczone funkcje i dopuszczalne opóźnienia. W przypadku webhooków wyjaśnij, czy kolejność ma znaczenie i co oznacza skuteczne dostarczenie.
- Szacunki, 5 minut: Podaj liczbę zdarzeń, rozmiar danych, liczbę miejsc docelowych na zdarzenie oraz założenie dotyczące obciążenia szczytowego. Wyraźnie zapisuj jednostki.
- Projekt wstępny, 15 minut: Naszkicuj przyjmowanie zdarzeń, trwałą pamięć masową, kolejkę dostarczania, procesy robocze i punkty końcowe klientów. Prześledź jedno zdarzenie w systemie i wyjaśnij każde potwierdzenie.
- Szczegółowa analiza, 10 minut: Wybierz ryzyko, takie jak zduplikowane dostarczenie, przeciążone miejsca docelowe lub awaria procesu roboczego. Wyjaśnij sposób reakcji i jego koszt.
- Podsumowanie, 5 minut: Podsumuj projekt, jego najsłabsze założenie oraz kwestię, którą zbadasz w następnej kolejności.
Niech wymagania uzasadniają dobór komponentów. Wyjaśnij na przykład, co musi przetrwać awarię procesu, zanim zdecydujesz, jak trwale przechowywać zdarzenia. Jeśli próbna rozmowa ujawni lukę w wiedzy, dokończ podejście, uzupełnij tę lukę i ponownie przećwicz wyjaśnienie.
Jak ćwiczyć obliczenia wydajności i scenariusze awarii?
Wyobraź sobie inżyniera backendu przygotowującego się do rozmowy na stanowisko starszego inżyniera platformy poprzez próbne projektowanie systemu dostarczania webhooków. Hipotetyczne obciążenie to 10 milionów zdarzeń dziennie, jedno miejsce docelowe na zdarzenie i dane o rozmiarze 1 KB. AI pyta, co się stanie, gdy punkt końcowy klienta będzie niedostępny przez godzinę.
Zacznij od obliczeń, które potrafisz wyjaśnić: 10,000,000 podzielone przez 86,400 daje średnio około 116 zdarzeń na sekundę. Osobno przyjęte obciążenie szczytowe równe dziesięciokrotności średniej daje około 1,160 początkowych prób dostarczenia na sekundę. Ponowienia generują ruch wykraczający poza te początkowe próby.
Przy jednostkach dziesiętnych dane zdarzeń zajmują łącznie około 10 GB dziennie, nie licząc metadanych, indeksów, replikacji i innych narzutów. Są to założenia ćwiczeniowe, a nie pomiary produkcyjne. Aby oszacować zaległości niedostępnego klienta, najpierw ustal, jaka część zdarzeń jest kierowana do tego klienta.
Następnie poproś AI o osobne przeanalizowanie tych przypadków:
- Utracone potwierdzenie: Odbiorca przetwarza zdarzenie, ale nadawca nie otrzymuje odpowiedzi. Wyjaśnij, w jaki sposób ponowienie może powtórzyć efekt uboczny i gdzie należy przeprowadzać deduplikację.
- Wolne miejsce docelowe: Jeden klient zużywa moc obliczeniową procesów roboczych. Wyjaśnij, jak limity współbieżności, wydłużanie odstępów między ponowieniami i izolacja mogą chronić innych klientów.
- Awaria procesu roboczego: Proces roboczy zatrzymuje się podczas dostarczania. Określ, które dane pozostają trwale zapisane, kiedy zadanie może zostać ponowione i jak obsługiwane są duplikaty.
Inny problem do ćwiczeń znajdziesz w przewodnikach po bankach pytań rekrutacyjnych.
Jak analizować informacje zwrotne i wybierać elementy do powtórzenia?
Poproś o uzasadnienie, zanim zaakceptujesz ocenę. Przydatna analiza wskazuje coś, co zostało przez Ciebie powiedziane lub pominięte, wyjaśnia konsekwencje i podaje konkretną kwestię do ponownego przeanalizowania.
- Wymagania: Czy projekt uwzględniał uzgodniony zakres i oczekiwania dotyczące dostarczania?
- Liczby: Czy jednostki były spójne i czy rozróżniono obciążenie średnie, szczytowe oraz ponowienia?
- Architektura: Czy potrafisz prześledzić na diagramie zarówno udane żądanie, jak i awarię?
- Kompromisy: Czy przedstawiono wiarygodną alternatywę i konsekwencje jej odrzucenia?
- Komunikacja: Czy wyjaśniono potrzebę zastosowania komponentu przed omówieniem jego implementacji?
AI może wymyślać możliwości usług, błędnie obliczać szacunki lub zalecać komponent, który nie rozwiązuje opisanego problemu. Samodzielnie powtórz obliczenia i sprawdź sporne twierdzenia techniczne w wiarygodnej dokumentacji. Poproś oceniającego o odróżnienie naruszonego wymagania od preferencji między poprawnymi projektami.
Nie rezygnuj z rysowania podczas ćwiczeń. Informacje zwrotne oparte wyłącznie na tekście nie mogą ocenić diagramu, którego system nie otrzymał, a analiza obrazu również może przeoczyć niespójności. Sprawdź, czy strzałki, magazyny danych, potwierdzenia i ustne wyjaśnienie są ze sobą zgodne.
Powtórz najsłabszy fragment bez podpowiedzi, a następnie zmierz się z podobnym problemem ze zmienionym ograniczeniem. Sprawdzaj, czy potrafisz samodzielnie wyjaśniać swoje decyzje. Kolega lub doświadczony rekruter może dodatkowo ocenić niejasny tok rozumowania; sam wynik przyznany przez AI nie potwierdza gotowości.
FAQ
Czy jako początkujący mogę używać AI do ćwiczenia projektowania systemów?
Czy przed ćwiczeniem warto przeczytać przykładową odpowiedź wygenerowaną przez AI?
Czy AI może ocenić mój diagram projektu systemu?
Co zrobić, jeśli AI twierdzi, że moja architektura jest błędna?
Ile próbnych rozmów z AI należy przeprowadzić przed rozmową rekrutacyjną?
Powiązane pytania
- Jakie pytania behawioralne warto ćwiczyć na próbnej rozmowie kwalifikacyjnej?
- Jak przeprowadzić próbną rozmowę kwalifikacyjną sam, bez partnera do ćwiczeń?
- Jakie pytania warto ćwiczyć i jak na nie odpowiadać?
- Jakich pytań powinien ćwiczyć inżynier oprogramowania na próbnych rozmowach kwalifikacyjnych?
- Jaki jest najlepszy sposób na przygotowanie do rozmowy kwalifikacyjnej?
- Jak mogę ćwiczyć rozmowy kwalifikacyjne z narzędziami AI Google?