2009-10-15 8 views
35

Mam następny wywiad telefoniczny z firmą działającą w branży oprogramowania finansowego. Wywiad będzie dotyczył głównie języka C++ oraz rozwiązywania problemów i logiki. Proszę, powiedz mi, jak przygotować się do tego wywiadu. Zacząłem przeglądać myślenie w C++ i odświeżyć koncepcje. Czy istnieje inny sposób, w jaki mogę się przygotować? Proszę pomóż.Przygotowanie do wywiadu C++

Edit:

Dziekujemy wszystkim wszyscy za radę. Chcę tylko dodać, że jestem obecnie świeżo po ukończeniu szkoły i nie mam wcześniejszego doświadczenia. Czy możesz zaproponować pytania, które będą zadawane nowym absolwentom?

+33

Jeśli zamierzasz korzystać z Google podczas rozmowy telefonicznej, zdobądź cichą klawiaturę ;-) ... Ktoś, kogo szukałem w zeszłym tygodniu, jest powodem tego wszystkiego. –

+1

Upewnij się, że siedzisz w spokojnym pokoju, a także informuj znajomych, aby ci nie przeszkadzali podczas iw. – Duleb

+1

Więc dostałeś pracę? –

Odpowiedz

51

Upewnij się, że znasz swoje podstawowe struktury danych i algorytmy. Bardziej prawdopodobne jest, że zostaniesz zapytany o te rzeczy niż o coś wyżej w łańcuchu pokarmowym. Zazwyczaj są one zapisywane do wywiadu osobistego.

Innymi słowy: być solidnym z podstawami i solidnymi ze swoją składnią C++. Również znajomość popularnych bibliotek, takich jak STL i Boost, nie zaszkodzi ... ale upewnij się, że wiesz, co te biblioteki ci dają! Na ekranach telefonów kończą się ludzie, którzy nie mogą zrobić podstaw. Udowodnij, że możesz i powinieneś przejść do następnego kroku. Powodzenia!

Oto kilka linków pytań do wywiadu, aby sprawdzić:

Teraz, ze względu na Ukończenie, niektóre książki:

+1

Zobacz także ten post na blogu na temat utrzymywania deklaracji C++ prosto, na wszelki wypadek, gdy spróbują się potknąć Ci z tymi: http://binglongx.spaces.live.com/blog/cns!142CBF6D49079DE8!273.entry –

+0

Kilka witryn, które łączysz, ma informacje i/lub kod, który jest wprost fałszywy. Nie jestem pewien, dlaczego jest to akceptowana lub najczęściej wybierana odpowiedź. – codetaku

+0

@codetaku Cóż, pytania związane są same w sobie. Przećwiczenie odpowiedzi na nie przyniesie najwięcej korzyści. To powiedziawszy, jeśli nie przeszkadzałoby ci wskazywanie obraźliwych treści, możemy zaktualizować odpowiedź, aby inni nie zostali zwiedzeni. –

2

Poza oczywistymi części języka, Znalazłem, że pracodawcy będą chcieli zobaczyć, czy w pełni zrozumieć, wskaźniki, referencje, jak copy-konstruktorzy przychodzą do wszystkiego, prawdopodobnie STL i oczywiście podstawy zajęć.

8
  • Wypróbuj kilka problemów praktycznych na temat TopCoder.

  • Sprawdź Marshall Cline's C++ FAQ. Jest to dobry sposób na nauczenie się nowych rzeczy i na rzeczy, które już znasz, w przypadku, gdy zdecydujesz się zadać ci kilka pytań "wiedzy", a nie "rozwiązywania problemów".

+1

+1 dla najczęściej zadawanych pytań. Def warty sekundy (lub pierwszy, jeśli to twój przypadek) przeczytać przed wywiadem! –

43

Rozmawiałem kilku kandydatów ze szczególnym uwzględnieniem ich C++ wiedzy, a jeśli nie było jedno pytanie, które działało dobrze umieścić wiedzy ludowej C++ na pochyłości, było to jedno:

rozwiązać ten przeciek pamięci jako solidnie, jak można:

 
void doSomething() 
{ 
Foo* pFoo = new Foo(); 
[do some stuff] 
} 
  • +1 za wprowadzenie usuwać pFoo na koniec
  • +2 za wprowadzenie pFoo w st d :: auto_ptr
  • +3 za wiedząc, co jest RAII - pojęcie, jeśli nie akronimem
  • +4 za wspomnieć gwarancje bezpieczeństwa wyjątku z auto_ptr
  • +5 za wprowadzenie pFoo w boost: shared_ptr
  • +6 za poznanie, kiedy shared_ptr może nie zostać zwolniony.
  • +7 do rozmowy o technikach zbierania śmieci naprawić okrągłe referencje

To zawsze pracowali, aby pokazać, jak długo ktoś pracował z C++. To jest jeden punkt danych, za pomocą którego możesz określić, gdzie jesteś w skali znajomości C++.

Edytuj: Polecam kogoś do wynajęcia na poziomie 3 lub wyższym.

+6

+1, ponieważ nauczyłem się kilku rzeczy. Dzięki! – John

+4

Po prostu z ciekawości ... dlaczego wolisz 'boost :: shared_ptr' zamiast' std :: auto_ptr' bez dodatkowych informacji? Byłbym znacznie szczęśliwszy z kandydatem, który odpowiedziałem: "to zależy od tego, co jest w [robić rzeczy]". –

+3

Rzeczywiście. Jeśli zrobiłoby to 'auto_ptr', ale chciałbyś uniknąć jego pułapek, użyłbyś' boost :: scoped_ptr' (lub 'std :: tr1 :: unique_ptr'). – UncleBens

2

Chwyć doświadczonego przyjaciela i poproś go o kilka problemów programistycznych C++, które możesz rozwiązać na tablicy. Wiele wywiadów sprawi, że rozwiążesz problem na tablicy, a myślenie na własnych nogach i pisanie rzeczy przed kimś może być niepokojące, jeśli nie jesteś do tego przyzwyczajony.

3

Nawet jeśli przeprowadzają wywiady dla pozycji w C++, nie wszystkie pytania mogą być specyficzne dla C++. Na przykład, byłem uderzony pytania związane z następującymi wszystkie w tym samym zbiorze wywiadów dla pojedynczej pozycji C++:

  • Algorithmic złożoności znanych algorytmów sortowania i wyszukiwania programowania
  • wielowątkowe
  • programowanie wieloprocesowe
  • Gniazdka programowania
  • Software Development filozofię/podejście
  • badanie i zatwierdzanie filozofia/podejście
  • Software
  • Debugowanie
  • Benchmarking
  • Dynamiczna i statyczna analiza kodu (np.Wykrywanie nieszczelności pamięci w czasie pracy w porównaniu do czasu kompilacji)

W moim przypadku wywiad telefoniczny był częścią procesu sprawdzania, czy mogę wziąć test wiedzy C/C++ w trybie online (np. poprzez BrainBench). Wyniki testów online zostały następnie ustalone, czy zostałbym wywieszony na wywiady na miejscu, które również zawierały więcej "praktycznych" testów programistycznych.

YMMV. Wiele zależy również od tego, co roszczą sobie Państwo w swoim CV.

Ankieterzy często próbują ci pomóc, udzielając wskazówek, aby mogli sprawdzić, czy możesz znaleźć odpowiedź, której szukają. Oprócz sprawdzania swojej wiedzy, chcą także zobaczyć, jak myślisz. Może się zdarzyć, że dostaniesz groteskowego rozmówcę, który nie jest ani pomocny, ani pozytywny. Kluczem jest być pewnym swoich umiejętności i być prawdomównym.

HTH i powodzenia!

2

Coś, w co zaczynam wierzyć, jest to, że czasami istnieje wyraźny podział między kandydatami, którzy lubią programowanie jako hobby, a tymi, którzy uważają to za "tylko codzienną pracę".

Nawet jeśli nie znasz odpowiedzi na konkretne pytanie, warto wspomnieć, że zwykle sprawdzasz odpowiedź na < ulubionym zasobie> (np. StackOverflow).

Na podstawie Państwa doświadczenia nie sądzę, że osoba przeprowadzająca wywiad spodziewa się, że każde pytanie będzie prawidłowe. Najprawdopodobniej próbują zdecydować, czy masz "potencjał".

Rozluźnij się i spróbuj się cieszyć!

Powiązane problemy