Zadaję również tego rodzaju pytania i zgadzam się z większością innych odpowiedzi. Może pomogłoby rozmówcom zrozumieć, DLACZEGO tego typu pytanie jest ważne? Załóżmy, że musimy podjąć ważną decyzję biznesową, a aby to zrobić, musimy zbudować nowy system. Jeśli ktoś podbiegnie do ciebie i zapyta, co trzeba zbudować system działający na X, czy możesz dać mu wnikliwą odpowiedź, która przewiduje główne wyzwania i wymagane zasoby?
Młodszy programista nie ma pojęcia, od czego zacząć. Nie są gotowi do rozmowy bez szczegółowej specyfikacji. Starszy programista natychmiast zauważy, że problem ma wiele aspektów, i spróbuje dopracować wyzwanie. Nie musisz projektować każdego aspektu, wystarczy zidentyfikować wyzwanie architektoniczne, a następnie wymyślić, jak je rozwiązać.
Rozważ problem z Dokumentami Google:
Jedną interesującą rzeczą jest skala ścinania żądań, które będą nadchodzić. Nie możesz po prostu zdobyć jednego serwera i wdrożyć na nim kodu - jest to większe przedsięwzięcie. Udany rozmówca może zająć się tym i opisze rodzaje zasobów, które będą potrzebne, a także niektóre techniczne wyzwania związane z wdrażaniem na taką skalę, w przypadku aplikacji, która ma nie tylko stan, ale dzieli stan wielu użytkowników.
Kolejną interesującą rzeczą w Dokumentach Google jest to, że wiele osób może edytować jednocześnie. Udany rozmówca będzie mógł omówić mechanizmy zapewniające, że wynikowy dokument nie będzie śmieci, a naprawdę świetny kandydat zda sobie sprawę, że różne metody synchronizacji lub scalania zmian będą miały duży wpływ na wydajność i UX. Może nawet omawiamy różne warianty: edytor współdzielonego dokumentu do pisania kodu powinien prawdopodobnie używać innej metody rozwiązywania konfliktów niż typowy Dokument Google, ponieważ istnieją inne konsekwencje dla rzeczy dziejących się w innej kolejności lub mających nieco inną strukturę.
Nie ma jednego właściwego sposobu na utworzenie aplikacji takiej jak Dokumenty Google, nie musisz określać, co byś zrobił przy każdej wymianie, ale naprawdę świetnie jest znaleźć obszar, który ma interesujący problem i jasno wyjaśnić, na czym polega wymiana może być.
-t.