Czuję, że często spotykany C / C ++ tak naprawdę nie opisuje moich umiejętności w moim CV. Planuję więc podzielić je na zaawansowaną wiedzę o C ++ i przeciętne umiejętności posługiwania się językiem C.
Czy uważasz, że jest to mylące dla czytelnika? Mogła pomyśleć: „C jest podzbiorem C ++, więc co ten facet próbuje mi przekazać?” Cóż, próbuję powiedzieć: wykonałem kilka projektów C ++ w prawdziwym świecie, podczas gdy projekty w czystym C były hobby. Czy zgadzasz się, że wykwalifikowany programista C ++ niekoniecznie jest wykwalifikowanym facetem C, czy uważasz, że zmiana ta jest łatwa?
Odpowiedzi:
Zadałeś tyle pytań w jednym; pozwól, że spróbuję odpowiedzieć, segregując je. Zatrudniam wiele osób, które należą do tego typu profilu i dość często muszę przeprowadzać tyle wywiadów i odrzucać ludzi, ponieważ często nie mają oni jasnej odpowiedzi na zadane pytania.
Czy dobra znajomość języka C lub C ++ jest wystarczająca, aby zakwalifikować się do drugiego programu?
Jeśli jesteś na wyższym poziomie, faktycznie NIE. tzn. jeśli spędziłeś jakieś 6 lat programując w C ++ w niektórych podstawowych aplikacjach korporacyjnych, a teraz próbuję umieścić cię w systemach wbudowanych, które są w C - prawdopodobnie twoja składnia programowania i sposób debugowania rzeczy nie jest problemem. Ale jeśli potrzebujesz przemyśleć problem - na pewno jesteś bardzo nieuporządkowany. Dotyczy to obu stron. Im więcej lat spędzasz tylko jeden rodzaj języka - trudniej go przekształcić w inną formę! Nie chodzi o to, czy możesz nauczyć się składni języka, ale tak naprawdę myślisz inaczej, gdy jesteś w C, C ++, Java, Perl i Python. Aby rozciągnąć pytanie - najczęściej - facetów z C ++ i Java można używać zamiennie, podobnie jak Perl, PHP, Phython. C to zupełnie inna rasa!
Jeśli jesteś stosunkowo młodym facetem - są szanse, że możesz szybko nadrobić zaległości.
Czy to oznacza, że mam wyższe umiejętności, gdy znam C ++, a nie C
Właściwie Nie. Nie, ponieważ, ogólnie rzecz biorąc, jeśli jesteś w stanie stworzyć pełny produkt z C, jest to znacznie trudniejsze zadanie w porównaniu do robienia tego w C ++. Liczba osób, które potrafią rozwiązywać problemy z systemami pamięci współdzielonej, jest znacznie mniejsza niż liczba osób, które mogą napisać porządny program GUI przy użyciu VC ++ lub podobnego frameworka.
Czy to oznacza, że znajomość C (lub programowania najniższego poziomu) jest najwyższym poziomem osiągnięć?
Nigdy więcej! To nie jest sprzeczność. Tym razem zależy to od porównywanej domeny. Jeśli patrzysz na programowanie systemów wewnątrz jądra Linuksa lub na coś bardzo zbliżonego do sprzętu, umiejętność programowania w C jest bardziej odpowiednia, jednak jeśli piszesz oprogramowanie bankowe lub niektóre silniki reguł biznesowych - C ++ jest zwykle naturalnym wyborem. Chodzi o to, że twoja prawdziwa siła nie polega na składni języka, ale na tym, jak rozwiązujesz klasę problemów i możesz jedynie mieć nadzieję na opanowanie kilku kategorii / dziedziny w swoim życiu. Jeśli umieszczasz coś w swoim CV - to naprawdę się liczy.
Czy to znaczy, że jeśli byłem tylko w C - nie znam programowania obiektowego?
Ani trochę. W rzeczywistości, mój test lakmusowy w wywiadzie, aby dowiedzieć się, czy facet pochodzi z języka C, czy C ++, polega na zadaniu bardzo prostego pytania - „Czy możesz zrobić programowanie obiektowe w języku C?”. - facet podskakuje i mówi: „Zdecydowanie NIE!” on / ona jest członkiem C ++. Chodzi o to, że kiedy naprawdę piszesz bardzo złożony kod, taki jak kod multimedialny, system wielowątkowy, stos warstw protokołu, nadal „myślisz jak kod obiektowy” - kompilator C nie karze, jeśli nie potrafisz hermetyzować dwóch procedur lub obiekty - ale kiedy system skaluje się, co powoduje, że strzelasz - czasami uważam, że wiele osób rodzi się w erze orientacji obiektowej, dość często dość słabo rozumie, w jaki sposób naruszone jest enkapsulacja w kodzie, który jest dość podobny wypełnione klasami i przedmiotami. Przepraszam, zrobiłem dygresję. Ale chodzi o to, że ważniejsze są twoje umiejętności analizy i projektowania problemów niż same umiejętności programowania.
Czy to oznacza, że powinienem osobiście podnosić ekspozycję i umiejętności projektowania?
Zdecydowanie tak!
źródło
Dla ludzi, którzy naprawdę mają znaczenie, nie, nie powinno ich to mylić.
Każdy, kto wie cokolwiek na temat programowania C i C ++ w świecie rzeczywistym, wie, że pomimo podobieństw i historii, programowanie produkcji w którymkolwiek z nich jest często zupełnie innym zwierzęciem.
źródło
Osobiście uważam za bardzo denerwujące, gdy ludzie piszą „C / C ++”, ponieważ C i C ++ są bardzo różnymi językami. I odwrotnie, jeśli widzę „C, C ++” lub „C ++ i C” w CV, to robi na mnie wrażenie bez końca. Niestety, prawie wszyscy piszą „C / C ++”, co zwykle oznacza „znam C ++, ale mogę zrobić C, jeśli będę musiał”.
Nie byłbym też tak konkretny w CV. Wystarczy wymienić języki programowania, które znasz, w kolejności od najbardziej biegłych do najmniej biegłych. To powinno sprawić, że przejdziesz obok filtru słów kluczowych HR, a następnie możesz wyjaśnić podczas wywiadu technicznego, jakie są twoje mocne i słabe strony.
źródło
C/C++
iJava/Javascript
tak jakby były identyczne, wciąż jest w dwóch bardzo różnych ligach.Nie, nie powinno to być mylące, ponieważ C i C ++, chociaż podobne i dzielące podobne korzenie, różnią się paradygmatem i sposobem użycia. Dlatego należy go oddzielić, należy także oddzielić wiedzę specjalistyczną. Plus, myślę, że możesz wspomnieć o bardziej szczegółowej wiedzy specjalistycznej (takiej jak GUI / FLTK lub inne biblioteki, które znasz) z tymi dwoma oddzielonymi.
źródło
Podobało mi się twoje sformułowanie: „Wykonałem kilka projektów C ++ w świecie rzeczywistym, podczas gdy projekty w czystym C były hobby.”
Po prostu umieściłbym to w żargonie CV:
Lepiej jest, jeśli wstawisz liczby zamiast „kilku” i „kilku”. Nie trzeba być dokładnym, „ponad dwadzieścia” to liczba do tego celu.
Opis „poziomu umiejętności” jest poprawny , ale opis „doświadczenia” jest poprawny i jasny.
źródło
Zgadzam się, że C i C ++ są różnymi językami i powinny być oddzielone w CV. Mimo że C jest (prawie) podzbiorem C ++, normalnie mam bardzo inny styl programowania, gdy używam C: projektuję inaczej, koduję inaczej i tak dalej. Chciałbym nawet usunąć niektóre funkcje C, takie jak #include z C ++, rezygnując całkowicie z kompatybilności wstecznej: są to po prostu różne języki.
Tak więc radzę, aby dwa języki były oddzielone w twoim CV.
źródło
Po prostu, jeśli osoba oceniająca cię miała skłonność do myślenia, że „C jest podzbiorem C ++”, są już zdezorientowani i jestem pewien, że twoje wyjaśnienie tego, co jest napisane w twoim CV, będzie wystarczające, aby je zachwycić.
źródło