Letni staż - Nokia Wrocław

0

Witam wszystkich!
Myślę, że nie ma co owijać w bawełnę i pisać przydługich wstępów. Temat mówi w zasadzie wszystko. Co prawda znalazłem, wątek o podobnej nazwie, ale nie został tam rozwiązany problem, który chcę poruszyć. Mam kilka pytań do osób, które w tym wakacyjnym stażu uczestniczyły. Nie będę ukrywał, że jestem początkujący w programowaniu (aktualnie drugi rok na PWr), uczę się mniej więcej od 1 klasy gimnazjum, zaczynałem od Pascala, potem aż do dziś C++. Niestety nie w ciągu tego czasu nie trafiłem na nikogo, kto byłby mnie w stanie naprowadzić na to co byłoby rzeczywiście przydatne, aż do ostatnich 3 miesięcy. Czuję że, faktycznie się w pewien sposób rozwinąłem.

      Napiszę po krótce co potrafię:
  • jestem w stanie sam zaprojektować (jeszcze pewnymi problemami, jeśli projekt jest bardziej złożony) klasę, znam podstawy dziedziczenia

  • obsługa biblioteki graficznej Allegro, początkująca znajomość kontenerów STL

  • obsługa plików txt i graficznych bmp

  • reszta czyli pętle, wskaźniki i inne elementarne struktury programowania proceduralnego

        Co planuję się do czerwca nauczyć:
    
  • listy,kontenery

  • jakaś dobra biblioteka graficzna, w stopniu podstawowym (OpenGL ?)

  • lepsze zaznajomienie się z algorytmami: sortowanie, potęgowanie binarne itd.

Pytanie do Was, czy to ma sens czy raczej polecacie naukę czegoś innego? Dostać się na staż Nokii to jedno z moich marzeń, zrobię bardzo wiele aby to osiągnąć, ale potrzebuję pomocnej rady. Dla tych co w tym stażu uczestniczyli. Jak on wygląda? Czy jest jakaś rozmowa kwalifikacyjna, jeśli tak to jak wygląda? Jakie problemy programistyczne się tam rozwiązuje?

Pozdrawiam

2

Radziłbym odpuścić punkty:

  • jakaś dobra biblioteka graficzna, w stopniu podstawowym (OpenGL ?)
  • lepsze zaznajomienie się z algorytmami: sortowanie, potęgowanie binarne itd.

i skupić się na poznaniu biblioteki standardowej oraz aspektach związanych z testowaniem (jednostkowo - koniecznie, modułowo, E2E)

1

Olej OpenGLa i algorytmy. Zajmij się szlifowaniem pisania dobrego kodu. Ogarnij kiedy robić dziedziczenie, a kiedy kompozycję. Czysty Kod Roberta C. Martina przeczytaj na początek - zobaczysz gdzie się znajdujesz. Książka może się wydawać cięzka, ale jak czegoś nie zrozumeisz zupełnie to się nie przejmuj. Ważne, żebyś poznał fachowe terminy, abyś nie zginął. (pewnie będziesz do tego wracał).

Ddoatkowo polecam Head First design patterns (jest wersja polska, sam ją na PWr wypożyczałem :P). To jest do Javki, ale C++ jest podobny, więc się nada. Jak te dwie książki ogarniesz, To pozostają jeszcze typowe struktury danych używane w codziennym programowaniu - listy, vectory itp. Tylko nie ma sensu się zmóżdzać nad wszystkim po 2 miesiace. Lepiej weż się za jakis projekt, jakiś swój pomysł i spróbuj zakodzić to uzywając dobrych praktyk. Gwarantuje, że nie będzie łatwo :)

0

Dzięki bardzo za szybkie i pomocne odpowiedzi. Mam kilka pomysłów na dwa stosunku proste programy pisane obiektowo

  1. zadanie z robotem przemysłowym z Symfonii (rozdział o wskaźnikach) - przepisać w sposób obiektowy
  2. generator pseudolosowych liczb pierwszych, chociaż nie wiem czy to ma sens żeby pisać coś takiego
    Macie jakieś pomysły, które pozwoliłyby mi pogłówkować nad projektowaniem klas?
    Ostatnio udało mi się napisać maszynę szyfrującą Enigma, może nic wielkiego, chociaż uważam, że jest to jeden z niewielu programów, w których świetnie połączyłem klasy i funkcje globalne. Wydaje się, że wszystko dobrze współgra. Macie jakieś inne pomysły, bardziej złożone. Tak aby program miał więcej niż 200-300 linijek kodu?
1

Jeśli ja miałbym doradzać, to unikałbym zadań typowo akademickich. Chyba, że to jakiś ciekawy problem, a ty masz genialne rozwiązanie :P. Lepiej zrobić apklikacje maksymalnie użytkową (skierowaną dla użytkownika końcowego). Jeśli w coś grasz, albo zajmujesz się czymś i przydałaby się automatyzacja danej czynności/procesu (np. jesteś analitykiem giełdowym (tak wiem, raczej nie jesteś)) i potrzebujesz prostą apkę bez zbędnych ficzerów, to jest świetny pomysł :P Może nawet osiągniesz komercyjny sukces :>. Ale najważniejsze, żebyś czuł, że to co robisz nie idzie do szuflady, a ma szanse się rozwinąć. Ostatecznie jako asa z rekawa możesz wyciągnąc swoją super-bajerancką apke napisaną w domu. Możesz tym zrobić niezłe wrażenie na rozmowie o pracę.

Tylko się tym nie zadręczaj, jeśli nie masz w tym momencie pomysłu to zrób cokolwiek. Ja mam skrzywienie w kierunku weba, więc słowo projekt kojarzy mi się z aplikacją biznesową skrojoną pod określonego użytkownika końcowego(najlepiej masowego). Także moje rady traktuj raczej z dystansem :].

0

Wszyscy mówią o tego typu aplikacjach, ja niestety potrafię na razie pisać tylko dosowe programy okienkowe. Co doradzisz abym mógł z tym ruszyć do przodu bez ogarnięcia masy rzeczy zbędnych i z początku nie potrzebnych?

1

Jeśli do Nokii, to zajmij się lepiej FFT albo jakimiś innymi algorytmami stosowanymi przy przetwarzaniu sygnałów.

0

Troche odkopię temat. W zeszłym tygodniu odbyły się testy, dostał ktoś juz może telefon z odpowiedzią dzis?

0

Może ktoś opisać jak wyglądają takie testy/rozmowa? Za rok mam plan startować do Nokii i chętnie się dowiem czego mogę się spodziewać

2

Test to (o ile dobrze pamiętam) 40 pytań wielokrotnego wyboru.
Były pytania o:

  • jaki będzie wynik i czy w ogóle zadziała dany fragment kodu (od prostych pętli po wyniki działania algorytmów z STL, większość pytań zawierało jakiś haczyk)
  • synchronizacja między wątkami (deadlock, mutexy itp)
  • rzutowania (static_cast, dynamic_cast, reinterpret_cast, const_cast)
  • kolejność wywoływań konstruktorów w niewielkiej hierarchii klas
  • jedno pytanie o optymalizację czasu kompilacji
  • smart pointers
  • co wprowadzało c++11
  • złożoność obliczeniowa podstawowych algorytmów

I jedno pytanie otwarte "Jak zapobiegać wyciekom pamięci?" (miejsca było 2 linijki więc dało się tylko lekko ruszyć temat)

No i bez znajomości angielskiego wiele się nie napisze bo test był właśnie w tym języku.

Test rozwiązywałem ponad 2 tygodnie temu, więc sporo pozapominałem. Rozmowę mam w najbliższy wtorek więc postaram się napisać jak to wygląda.

0

I jak poszła rozmowa?

1

I jedno pytanie otwarte "Jak zapobiegać wyciekom pamięci?" (miejsca było 2 linijki więc dało się tylko lekko ruszyć temat)

Ech, jak ja nie lubię takich głupich pytań... odpowiedź: pisać kod prawidłowy.

;-)

1
Azarien napisał(a):

I jedno pytanie otwarte "Jak zapobiegać wyciekom pamięci?" (miejsca było 2 linijki więc dało się tylko lekko ruszyć temat)

Ech, jak ja nie lubię takich głupich pytań... odpowiedź: pisać kod prawidłowy.

;-)

Używać RAII było dokładnie tym co chcieli usłyszeć.

Na początku była dość luźna rozmowa po angielsku.
Później miałem do napisania kod na tablicy:

  • mam obraz zapisany w tablicy dwuwymiarowej, musiałem obrócić go o 90 stopni (trzeba było także zaproponować testy do tego)
  • singleton współdzielony pomiędzy wątki
    I jeszcze rozmawialiśmy:
  • jak działa singleton
  • różnice pomiędzy alokowaniem pamięci na stosie i na stercie
  • wycieki pamięci
  • testach jednostkowych
  • testowaniu ogólnie
  • czy znam jakieś języki skryptowe
  • o komendach w linuxie (czy znam komendę która wyszuka linię zawierającą określone wyrażenie w dowolnym pliku tekstowym w katalogu)
  • czy znam wyrażenia regularne
  • co to jest wirtualne dziedziczenie
  • dlaczego w ogóle deklarujemy destruktor jako wirtualny

No i 10 dni później dostałem telefon, że mnie przyjęli :)

0

Komuś udało się dostać na te praktyki?

0

Też chciałbym zapytać o to, czy się podostawaliście na letnie praktyki - od jakiegoś czasu nie dostaję odpowiedzi od Nokii i zastanawiam się, czy każdy tak ma.

0
poq napisał(a):

Też chciałbym zapytać o to, czy się podostawaliście na letnie praktyki - od jakiegoś czasu nie dostaję odpowiedzi od Nokii i zastanawiam się, czy każdy tak ma.

Jeśli po rozmowie dostałeś telefon, że się dostałeś, to powinieneś dostać kilka maili z informacjami co dalej (zaproszenie na podpisanie umowy, informacje na temat pierwszego dnia itp). Jeśli nikt się nie odezwał po rozmowie, to raczej nie mam dobrych wieści.

0

Dzięki za odpowiedź. Sądziłem że dość nieźle wypadłem podczas rozmowy, więc postanowiłem jeszcze raz się przypomnieć - no i ostatecznie do mnie zadzwonili. Okazało się, że byłem na liście rezerwowej (z jakiegoś powodu studentów po pierwszym roku studiów biorą tylko w ostateczności). No i w końcu się faktycznie nie dostałem, bo brak miejsc.

0

Hej, dostał ktoś z Was info odnośnie testów na tegoroczne praktyki w C++?

0

A czy dostał ktoś info odnośnie testów Java??

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