Pytania rekrutacyjne na mida

0

Siema, z góry zaznaczam że nie wiem czy to nie powinno trafić do kariery, jak tak to sory.

Pytanie do bardziej zaawansowanych użytkowników.
Jakiego typu pytań mogę spodziewać się na rozmowie rekrutacyjnej na stanowisko mida, które zagadnienia z C++ sobie powtórzyć?
Jest to na tyle rozległy język, że raczej ciężko pamiętać wszystko na blachę dlatego wolę sobie odświeżyć co nieco żeby się nie zaciąć podczas rozmowy.
Tak tak, w google też znajdę pytania, ale wolałbym jednak coś z pierwszej ręki.

1

Zalezy od firmy. Możesz dostać zadania do domu.
live coding np. fibonnacii i optymazliacja. Były nawet RAII czy proste wskaźniki inteligętne.
ogólnie jak działa std::move i całe przenoszenie
wskaxniki inteligętne.
Rozmowa o architekturze i ogólnie design. testy, wzorce, ogólnie jak coś zrobić czyli np. nie robić state of the art na watkach dla samego szpanu.

Ogólnie to już nie powinna być typowa rozmowa o regułki. Kiedyś miałem rozmowę, generalnie siedzę w sofcie gdzie jest multum wątków ale to już zawsze stan zastany więc tego od zera nie piszę. A chcieli kogoś takiego. No i mnie przeicągnęli na rozmowie posżło tak śrendio bo człowiek nie zna wszystkich tehcnik jak w tym nie siedzi ostro. A jednak chcieli mnie bo powiedzieli spoko że nie wszystko wiedziałem ale chodziło o to czy potrafię myśleć. To sprawdzali rzucając tematy a nie regułkę z dokumentacji.

2

To samo co na juniora tylko odpowiedz musi byc bardziej dokładna + będziesz miał pytania o jakieś niuanse, które pamieta się tylko jak sie przygotowuje na rekrutację. Do trenowania ich polecam: cppquiz Tego najbardziej nie lubię. Jak jest tego za dużo to skreślam firmę.

Do tego dochodzą leetcode, albo debug kodu. Prawie zawsze coś jest. Natomiast leetcode to często jest easy i chodzi bardziej o komunikację. Więcej stresu niż trudności.

No i jeszcze pytania z działania procesora/OS-a od procesu, threadu do działania cache-u. Czasem może być coś z domeny na którą aplikujesz, np matematyka, TCP itd.

4

Większość zadań dla C++ niby ma jedną prawidłową od powiedź, ale jednak junior/mid/advance udzielą jedna znacząco różnych odpowiedzi.
Klasyczny przykład:

int foo(size_t x)
{
    printf("Foo: %d", x)
}

int main()
{
    foo(42);
}

Niby proste do wyjaśnienia co to robi, ale ktoś o zaawansowanej wiedzy, może gadać o tym 5 minut.

o mam lepszy przykład *(char*)0 = 0; godzina gadania o jednej linijce.

0
MarekR22 napisał(a):

o mam lepszy przykład *(char*)0 = 0; godzina gadania o jednej linijce.

(char*)0 //to wskaźnik na adres pamięci 0
=0 // przypisujesz zero do wskaźnika na adres pamięci 0
*( // zwracasz przypisany adres zero do wskaźnika 0

czy ty próbujesz zapisać wartość 0 do adresu pamięci 0? To spowoduje błąd wykonania. Bo adres 0 jest zarezerwowany do wskaźnika nullptr i nie jest dostępny dla programów. No chyba, że chcesz sprawdzić obsługę błędów? Aha i wskaźnik nullptr nie jest tym samym co NULL;

NULL - jest to makro zdefiniowane w C++ - domyślnie ma wartość ZERO (0) w kontekście liczby i daje to wskaźnik o wartości zero czyli brak adresu dla tej zmiennej. NULL jest stałą wskaźnika zerowego jak i stałą arytmetyczną i to może stwarzać problem jeżeli przekaże się to do funkcji

nullptr - jest to zarezerwowany wskaźnik o adresie ZERO (0) do którego nie ma dostępu żaden program i nie można tam nic zapisać. Jest to wskaźnik i zostanie wskaźnikiem. Zapisanie cokolwiek do tej zmiennej skutkuje błędem. Nie da się porównać nullptr z typem całkowitym np NULL lub 0 i nie da się go przekształcić

null - jest wartością, a nullptr jest wskaźnikiem, null używany jest do reprezentowania braku wartości ZERO(0) w kontekście liczby, a nullptr służy do reprezentacji braku adresu w pamięci

1 użytkowników online, w tym zalogowanych: 0, gości: 1