Wpis z mikrobloga

Kurde miraski z #programowanie mam pytanie

Byłem dzisiaj na rozmowie kwalifikacyjnej na staż z C/C++. STAŻ. I czy powinienem był się spodziewać takich pytań?
1. Różnica pomiędzy procesem i wątkiem
2. Sposób dzielenia pamięci przez wątki i procesy (w sensie opisać co dokładnie się dzieje)
2. Dostęp do zmiennej z różnych wątków (czy możliwe i jak przeprowadzić)
3. Mutexy, lockguardy, unique_locki
4. Singleton
5. Różnica między stosem i stertą (to ok) i co jest szybsze w dostępie (???)
6. Jeszcze coś związanego z samą pamięcią (coś strasznie niskopoziomowego)

Reszty nie pamiętam. Było też trochę takich typowych rzeczy (dziedziczenie, funkcje wirtualne, napisanie własnego memcpy, wyszukiwanie memleaków etc.). Jednak ogólnie poczułem się rozmazany jak robak :D Programowania współbieżnego uczyłem się dopiero tydzień (i to bardzo pobieżnie, dopiero zaczynam), na wszystko coś tam pobąkiwałem (w tych trudnych rzeczach podkreślając, że nie mam pojęcia, i że to tylko moja intuicja). Ale różnica między procesem a wątkiem mnie zniszczyła, nie miałem świadomości w jaki sposób się to rozróżnia.

Jestem motzno zaskoczony nieprzyjemnie ( ͡° ʖ̯ ͡°)

#naukaprogramowania #cpp #jezykc
Fitoplankton - Kurde miraski z #programowanie mam pytanie

Byłem dzisiaj na rozmowi...

źródło: comment_P0T3KtjnFIo2Z7tFB7JCsw2PmsuXDbt2.jpg

Pobierz
  • 33
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Fitoplankton: Pytania ok, o ile nie wymagają, ƶebyś wszystko ogarniał - raczej do oceny co umiesz, gdzie słyszałeś, ƶe dzwoniło, a gdzie w ogóle nie masz pojęcia.

A to ze stosem i stertą podchwytliwe, bo obecnie nie ma róƶnicy. Cache missy są kosztowne, ale wczytanie i obsłga np. 400k intów ze stosu czy sterty wykona się tak samo szybko.
  • Odpowiedz
@Ten_z_Wykopu: Konfy i książki Meyersa, clean code. Ale 3/4 to czyta dokumentacja. Mialem dwa - jeden w c ze studbazy, ale całkiem sprytny - bez makr zasymulowałem polimorfizm. A drugi to użyteczny symulator maszyny turinga. Tam pokazałem tdd, qt, cleancode i że ogarniam najnowszy standard cpp i stla
  • Odpowiedz
@calka: Przykład jest dosłownie zdanie dalej. "stos" i "sterta" rezydują w tej samej pamięci, jedno i drugie z bardzo duƶym prawdopodobieństwem jest ładowane do cache'u procesora po wywłaszczeniu innego wątku -- a jeśli juƶ w nim jest to odwołanie tam będzie równie szybkie. Jedyna róƶnica jest taka, ƶe "stos" jest niezbędny do dowolnej operacji wątku, więc jest ładowany zawsze -- a róƶne dane na "stercie" nie. Więc dla zmiany np.
  • Odpowiedz