Jak w wywiadach odpowiadasz na pytanie „wyjaśnij obecną architekturę swojego projektu”? [Zamknięte]

10

Aplikacja, nad którą obecnie pracuję, jest nieco ogromna. Nie da się tego wyjaśnić za około 15 minut.

Ostatnim razem skończyłem rysować schematy klas i sposób ich powiązania, ale widziałem, że osoba przeprowadzająca wywiad nie była zadowolona z odpowiedzi.

Jakie są najważniejsze rzeczy, które należy podkreślić, odpowiadając na to pytanie?

Na przykład, w jaki sposób zarządzana jest sesja, jak osiągana jest trwałość, to kilka rzeczy.

Jakie są inne rzeczy, których nie można przegapić?

Vinoth Kumar CM
źródło
2
Przepraszamy, ale obecnie jest to objęte NDA. Czy moje poprzednie projekty byłyby zadowalające?
SF.
Jeśli nie potrafisz wyjaśnić architektury wysokiego poziomu w 5 minut, to nie masz architektury. Masz dużą kulę błota.
Euforyczny

Odpowiedzi:

16

Osobiście uważam, że pójdziesz głęboko (na rozmowę kwalifikacyjną), jeśli zaczniesz rysować schematy klas, chyba że o to poproszą.

Ostatnim razem, gdy miałem to pytanie, skończyłem rysować różne warstwy (aplikacja 3-poziomowa), wyjaśniłem, w jaki sposób zmapowano złożenia (ponieważ moim zdaniem było to coś „dziwnego” dla projektu), w którym kierunku warstwy miały zależności i kierunek przepływu danych.

Jeśli chcesz, możesz sięgnąć głębiej w określone komponenty. Ale nigdy nie poszedłem głębiej niż „z tego powodu wykorzystaliśmy Workflow Foundation do tej części logiki biznesowej”. To dało mi szansę wskazania, że ​​zastosowaliśmy określoną technologię , bez marnowania czasu na trywialne rzeczy, takie jak proste obiekty POCO.

Ważniejsze jest pokazanie, że rozumiesz architekturę i dlaczego tak się dzieje. Jeszcze lepiej jest wskazać punkty poprawy (jeśli to możliwe) i wyjaśnić, dlaczego tak jest. Z drugiej strony, jeśli uważasz, że projekt jest „idealny”, możesz wskazać konkretną część projektu, która nie wydaje się logiczna dla osoby wyróżniającej się, i wyjaśnić, dlaczego pasuje do tego projektu.

Bart
źródło
Zgoda. Ćwiczyłem pięciominutową mowę na temat losowej rodziny i przyjaciół. Myślę, że żaden z nich nie jest bardziej lub mniej zorientowany w informatyce niż przeciętny rekruter lub kierownik działu HR.
Christopher Bibbs,
14

Jeśli nie jesteś w stanie przedstawić ogólnego widoku architektury swojego projektu lub wyjaśnić projektu w ciągu 5 minut (nie mówiąc już o 15) komuś innemu, najprawdopodobniej przyczyną jest to, że jesteś zbyt blisko powierzchni węglowej.

Musisz uzyskać pewien dystans, abyś mógł zobaczyć swoją pracę tak, jak inni. Zupełnie jak malarz, odsuń się i spójrz na całość. Następnie zobaczysz, co jest ważne w 5-minutowym przeglądzie.

wolfgangsz
źródło
3

Wszystkie te odpowiedzi są znakomite, ale zauważyłem, że schemat komponentu bardzo wysokiego poziomu, wykaz stosu technologii (np. Java, JSF, Primefaces itp.) Oraz pewność siebie i otwarty charakter są najlepsze odpowiedz na to pytanie.

Jeśli nie jesteś uśmiechnięty ani nawet podekscytowany wyjaśniając architekturę swojego obecnego projektu, osoba przeprowadzająca wywiad może cię postrzegać jako osobę oderwaną i niezainteresowaną ciężką pracą. Jestem podekscytowana i mówię o tym, jak myślę, że jest to „najfajniejsza” rzecz na świecie, dzięki czemu ankieter uśmiecha się i czuje się swobodnie, a on zaczyna zadawać bardziej szczegółowe pytania.

wałek klonowy
źródło
2

Pomyśl o udzieleniu odpowiedzi na to pytanie, tak jak wyjaśniłbyś to klientowi. Twój klient nie dba o nakrętki i śruby, które chcą poznać ogólną strukturę.

W tym samym sensie, osoba przeprowadzająca wywiad chce po prostu zobaczyć, z jakiego środowiska pochodzisz i jak koreluje to z ich własnym projektem. Nie chcą, żebyś mówił o swoim projekcie i nie powinieneś pokazywać schematów klas w wywiadzie.

Daj im więc ogólny przegląd architektury na 10 000 mil. Jeśli chcą czegoś więcej, zapytają. Potem zacznij wchodzić głębiej.

Tyanna
źródło
1

Zacznij od najwyższego poziomu, jaki możesz i pracuj dalej. Zacznę od podstawowego funkcjonalnego schematu blokowego na tablicy. Pamiętaj, że osoba przeprowadzająca wywiad będzie (miejmy nadzieję) wykwalifikowana technicznie, ale nic nie wie o twoim projekcie.

Niezależnie od projektu powinieneś być w stanie narysować zarys podstawowej operacji w kilku (<10) blokach. Następnie możesz rozwinąć bloki, które dobrze znasz i dodać więcej szczegółów. Na przykład wspominasz o wytrwałości - może to być pojedynczy blok na pierwszym schemacie, ale może obejmować całą tablicę, jeśli chcesz wiercić w szczegółach.

Jeśli pytają o architekturę, oczekują przeglądu, aby zobaczyć, czy naprawdę wiesz, jak to pasuje do siebie, czy też po prostu pracowałeś nad jednym małym fragmentem projektu. Upewnij się, że to podałeś, zanim zaczniesz wiercić na jednym małym obszarze.

Luke Graham
źródło