Wpis z mikrobloga

#programowanie

Mirki, mam takie pytanie z ciekawości i w sumie w dalszej mierze nieco także techniczne. Nie wiem jak jest w innych językach programowania, dlatego chciałbym się dowiedzieć czy to jest tak tylko w C++, czy może tylko ja tak trafiam, czy to jest standard itd. Pomijam fakt, że z C++ ofert nie ma praktycznie w ogóle (w porównaniu do tego co kiedyś widywałem patrząc z ciekawości, sezon ogórkowy?), nie licząc wieczniewiszących ofert od Samsunga (Warszawa), które z racji swojego wiecznowiszenia budzą wątpliwości na temat rotacji w firmie i warunków jakie tam panują. No ale mniejsza z tym, bo nie o to chciałem zapytać.

Pytanie brzmi - czy w innych językach programowania też tak pytają o pierdoły jak w C++? Ktoś mógłby rzec "hur dur, przecież to nie pierdoły", jednak w momencie gdy ktoś próbuje złapać mnie np. na płytkim sprawdzaniu w operatorze OR/AND (przyznam, że zapomniałem już o płytkim sprawdzaniu, bo nigdy nie byłem na tyle szalony aby przy operatorach logicznych modyfikować zmienne poddawane sprawdzaniu) czy sprawdzają mnie jak sobie radzę z przeliczaniem w pamięci kodu szesnastkowego na binarny, dziesiętny i odwrotnie, no to chwilami się zaczynam zastanawiać o co chodzi tym ludziom. Z racji tego, że ofert jest mało i nawet nie ma gdzie się zgłosić z niewielkim doświadczeniem, to jakoś wielu znowu rozmów nie odbyłem, ale gdziekolwiek byłem sprawdzano mnie nie z ogólnego czy nawet podstawowego pojęcia jak się powinno zabrać za jakiś problem, tylko z rzeczy których prawdopodobnie nie stosuje się zbyt często. W jednym miejscu (na chyba 4) tylko mnie pytali co robiłem i jak sobie z tymi rzeczami radziłem, w pozostałych bardziej ich interesowało czy jestem dobrze wyszkolony z niuansów (ale jakieś normalne pytania z kategorii "jakby pan rozwiązał taki i taki problem" też były, tutaj akurat sobie lepiej radziłem). Istniały też inne dziwne kwestie w kategorii tych rozmów, bo biorąc pod uwagę jak ekstremalnie mnie potrafili maglować (rekordowa rozmowa 5h + jeszcze robota do domu) oni ewidentnie szukali wykwalifikowanego pracownika, ale wśród osób z małym/zerowym doświadczeniem, bo te osoby zawsze zaśpiewają mniej od kogoś kto już siedzi w branży i się ceni (czyli chyba szukali magika, który jest już ostro w temacie, ale nieśmiało piśnie pod nosem 2000 netto z jakichkolwiek powodów).

Czy to jest normalne we wszystkich ogólnych językach programowania (Java, C#, C++) że tak to wygląda, czy może tylko w C++ każą mi przeliczać kod szesnastkowy w pamięci? Czy może po prostu tak trafiałem? Pytam się, bo zacząłem się zastanawiać serio czy takie maglowanie jest domeną C++, czy to jest po prostu kwestia branżowa i wszędzie tak jest.

Pytanie jest zainspirowane niejako odpowiedzią znajomego programisty, który gdy powiedziałem mu, że szukam właśnie zaczepienia gdzieś w C++ powiedział mi "C++? W tym ktoś jeszcze programuje?" (sam programuje w Javie). Nikt ogółem z jego firmy (pytałem się, to było spotkanie pracowników i chciałem się zorientować w temacie) nie dotykał nawet C++ a jak się pytałem o co pytali na rozmowach, to odpowiadano mi że o jakieś podstawowe rzeczy i bardziej ich interesowało czy mają chociaż pół mózgu w głowie żeby móc się nauczyć niż oczekiwać wiele od początku. Zestawiłem sobie to z tym co ja miałem do tej pory i się zacząłem zastanawiać, czy uczenie się akurat C++ to był dobry pomysł.
  • 30
@Khaine: Ja sam jestem z Javy, ale właśnie jak mowa o ludziach z C++ to wyobrażam sobie takich co przeliczają kod szesnastkowy z nudów jak jadą tramwajem do pracy. No i to nie jest tak, że sobie to wymyśliłem, każdy kogo znam z C++ taki jest :p W Javie nikt mi nie kazał przeliczać kodów, ani nie pytał o pierdoły (takie jak polimorfizm czy klasy abstrakcyjne), tylko o systemy rozproszone, bazy
@Khaine: Musiałeś kiepsko trafić. Ostatnio mam sporo mam rozmów o prace i nigdzie nie spotkałem się z takimi dyrdymałami.

czy uczenie się akurat C++ to był dobry pomysł.

Nie był.
@Porana123: No jakby mnie spytali o polimorfizm i klasy abstrakcyjne, to ja bym akurat powiedział, że to jest sensowne pytanie, bo chociaż sprawdza czy wiem co to jest interfejs i czy umiem jakoś obiektowo myśleć. Ale szukanie na kolanie błędu, który wyszedłby po chwili debugowania? Bo o to też nikt się nie pytał, czy wiem że programy można debugować i ustawiać sobie breakpointy aby takie głupoty wyławiać, nie nie - dokumentacja
Nie był.


@whoru: :< Ucz się C++ - mówili. Jak ogarniesz C++, to wszystko inne też - mówili. Tylko, że sam próg wejścia w zawodowy C++ zdaje się być bardzo wysoki a ofert jest mało :< Jak się wpisze "Java" czy "C#" w wyszukiwarkę, to z każdego z nich jest minimum 2x tyle ofert ilościowo i wydają się też bardziej przyjazne dla ludzi, którzy nie znają całych tomów książek o algorytmice
@Porana123:

Co nie znaczy, że nie pytają, bo nie raz słyszałem jak ludzie z Javy dostawali pytania o dodawanie floatów i precyzje itd.


O to mnie akurat nie pytali, ale ocierałem się o te tematy. Natomiast obcinanie precyzji przy liczbach zmiennoprzecinkowych, to akurat dobrze by było wiedzieć, że istnieje. Tylko na takich rozmowach na których byłem, to znając życie podaliby floata będącego na granicy zakresu i oczekiwali, że znam na pamięć
@Khaine: O tym polimorfiźmie itd. pisałem w sensie, że większość po prostu zakłada, że to znasz, nie ma tego co na wykopie ('o wiesz co to double, masz tu 15k' xD), jak tak robią to od razu wiadomo, że porządni i co ważniejsze mają ciebie za porządnego. Najgorsze są pytania o niuanse i przypadki 'co się stanie gdy cośtam' kiedy te cośtam to jakiś odjechany pomysł, który nie wiesz co zrobi
Najgorsze są pytania o niuanse i przypadki 'co się stanie gdy cośtam' kiedy te cośtam


@Porana123: No, przykład z życia wzięty:

int i = 0;
if (++i || i++) i++;
Ile wynosi i?

To jest właśnie ten z płytkim sprawdzaniem. W pierwszej chwili na to spojrzałem i zastanawiałem się co za debil robi w ifie iterację i jak już otrząsnąłem się z bezsensowności pytania, to powiedziałem, że 3. Ale nie -
@Khaine: Heh ja to nie wiem co to if(++i), jaki tu jest warunek, kiedy to przechodzi a kiedy nie?:D Pewnie zawsze, dlatego tylko Java :< Za czasów C++ pewnie to wydawałoby mi się normalne, dobrze, że pozapominałem tne język ( ͡° ͜ʖ ͡°)
@Khaine: Anyway, jak już mówisz próg wejścia, w Javie musisz znać kompletnie inne rzeczy niż w C++ bo te języki są kompletnie do czego innego, porównywanie progów wejścia jest trochę bezsensu. Imo to jest tak, że jak będziesz mistrzem C++ to będziesz musiał wyłączać telefon bo cię rekruterzy zaspamują (jak pewnie w każdym języku), jak masz tonę czasu i za co żyć przez jakiś dłuższy okres i lubisz ten język to
@Porana123: Takie bezcelowe "ciśnięcie" wiele mi nie da. Żeby to miało sens, to muszę mieć coś konkretnego do roboty. W momencie gdy wiem jak coś zrobić nie ma dużego sensu aby to robić, skoro i tak wiem jak to zrobić ( ͡º ͜ʖ͡º) Teraz jedynie czytam książkę pewną od nowa aby sobie jeszcze raz wbić składnię i niuanse do głowy. Prawda jest taka, że większość ofert
@whoru Podczas rozmowy o wakacyjny staż w Javie byłem maglowany z implementacji podstawowych typów. Tzn. jaka jest złożoność dodania obiektu do końca listy, jak działa HashMap itp. To się kwalifikuje w ramach standardowych pytań czy też miałem pecha? ( ͡° ʖ̯ ͡°) Tak czy siak Javy i tak muszę się poduczyć dla samego siebie.

Z rozmowy o C++ zapadło mi w pamięć pytanie o szybkie ustalenie czy ilość
@bigben93: jak o staż to gruba przesada.. w sumie nawet i standardowe pytania, ale aż dziw mnie bierze bo nawet na stanowisko juniora takich pytań nie dostawałem ( ͡° ʖ̯ ͡°)
@whoru: Odpowiadałem na nie w stylu "Nie wiem ale zakładając, iż w implementacji jest ... to złożoność danej operacji wynosi ...". Na większość nawet poprawnie odpowiedziałem. Stażu i tak nie dostałem, ale ambitnie będę się dokształcał we własnym zakresie. Obecnie mam staż z propozycją zostania jako pracownik w innej firmie. Warunek tylko taki, że musiałbym dokonać transformacji w studenta zaocznego.