wie lange dauert Deine Jobsuche als SW-Entwickler C/C++?
-
factorypattern schrieb:
Stack befindet sich in Cache-RAMs, und folglich viel schnell als Heap.
Wenn mir jemand sowas erzählt, würde ich vermutlich mal genauer nachfragen was er damit meint.
Klingt nämlich wie nachgeplappert aber nicht richtig verstanden.Und es ist mMn. in dieser Formulierung ... falsch.
Caches cachen üblicherweise unabhängig davon ob ein Speicherbereich Stack oder Heap darstellt, oder sonstwie verwaltet wird. Ich kenne zumindest kein System mit speziellen "Cache-RAMs" für den Stack.Ich kenne allerdings zumindest zwei Effekte die Zugriffe auf den Stack "begünstigen":
- Der Stack steht üblicherweise im Cache, da er ein Bereich ist den sich alle aufgerufenen Funktionen eines Threads teilen und immer wieder verwenden. Wenn man dagegen Speicher vom Heap anfordert, dann kann man nicht unbedingt davon ausgehen dass der angeforderte Bereich bereits im Cache liegt.
- Moderne CPUs haben diverse Optimierungen für den Zugriff auf den Stack. Wobei dabei - wenn ich es richtig verstehe - hauptsächlich das Inkrementieren/Dekrementieren des Stack-Pointers beschleunigt wird, weil sich ein spezieller Addierer darum kümmert und auch keine eigenen µOps dafür erzeugt werden müssen. (Siehe z.B. http://www.agner.org/optimize/microarchitecture.pdf "7.7 Stack Engine")
Wenn man die Adresse eines bestimmten RAM Bereichs in einem Register hält, und diesen RAM Bereich oft verwendet, dann wird der Zugriff darauf aber normalerweise gleich schnell sein wie der Zugriff auf den Stack.
-
c++ progger schrieb:
AMag sein dass die Hardware gewisse Teile des RAMs im Cache hat, in aller Regel sind aber sowohl Heap als auch Stack im RAM und somit gleich schnell.
You make my day.
Dass du 3 Jahre C++ programmierst und std::map ein Fragezeichen für dich ist, deutet darauf hin, dass du nie wirklich C++ gelernt hast. Das ist jetzt keine Kritik, nur eine Feststellung.
In meiner Anwendung ist bisher kein std::map zum Einsatz gekommen =/=> Ich habe keine Ahnung über std::map. Ich würde zudem darauf hinweisen, dass die Anwendung eine Zusammenarbeit unseres Teams ist. Warum meine Kollegen std::map auch nicht verwenden, liegt wahrscheinlich nicht unbedingt an einer Gruppe von C oder C++ Alphabeten.
Sieh zu, dass du nicht nur das Werkzeug, also C++ lernst. Beschäftige dich auch mit anderen Themen der Informatik bzw. Computertechnik. Du kannst dich mit 3D Graphik, Netzwerktechnik, Algorithmen und vielen anderen Themen beschäftigen. So setzt du Schwerpunkte, von denen nicht jeder Ahnung hat. Vor allem sind das auch Dinge, die sich nicht so schnell ändern wie die verwendeten Frameworks, du profitierst also langfristig von dem Wissen.
Bei meinem jetzigen Arbeitgeber ist tatsächlich so, dass SW-Enwickler nicht nur programmieren müssen, sondern auch sich mit den Application gut vertraut machen sollen. Leider kenne ich mich nicht mit der Branche des Interviewers aus. Momentan kann ich mich nur um Verbessern meiner Wissenslücke in C oder C++ Programmierung bemühen.
-
factorypattern schrieb:
Während meines Studium habe ich Grundlagen über Mikrocontroller MCS-83 oder 85 (an der Stelle ist leider mein Gedächtnis flüchtiger geworden.) gelernt. Ich habe aber nie Heap von Mikrocontroller gehört. Vielleicht schlief ich gerade ein, als der Professor Rede über Heap von Mikrocontroller hielt. :p
Heap ist ein allgemeiner Begriff, auch wieder mehrfach belegt. Aber wenn der Microcontroller RAM hat, kann man auch von einem Heap sprechen. Und sehr wahrscheinlich auch von einem Stack. Deswegen erwarte ich einfach, dass du abstrahieren kannst. ESP und EBP sind eben nicht die Kernelemente des Begriffs Stack.
c++ progger schrieb:
Auch das Argument von wegen Stack ist schneller als Heap leuchtet nicht ein.
Die Erklärung dazu war auch etwas komisch und wahrscheinlich falsch (je nachdem, wie man sie interpretiert). Aber wenn man in C++ von Stack und Heap redet, dann ist der Stack normalerweise schon "schneller". Es geht eben darum, dynamische Speicherallokationen zu vermeiden. Speicher auf dem Stack zu reservieren ist billig, üblicherweise wird von einem Register ein Wert abgezogen und das wars. Speicher auf dem Heap mit new zu reservieren, bedeutet üblicherweise mehrere Funktionsaufrufe + Schleifen + 1-2 Locks -> sehr viel teurer.
std::list wird selten benutzt, weil sie eben auch zu viele dynamische Speicherallokationen macht und das ist zu 99% kontraproduktiv. std::vector ist fast immer besser.
Es mag Spezialfälle geben, bei denen man std::map überhaupt nicht braucht. Aber die Datenstruktur ist so geläufig, dass jeder mit etwas Erfahrung sie eigentlich ständig benutzt haben sollte.
Wenn etwas nicht funktioniert, muss man genau verstehen, woran das liegt. Wenn eine Exception nicht durch den catch Block gefangen wird, muss man das untersuchen. Das liegt nicht an der Qt grundsätzlich, die kann da auch nicht stören. Außer vielleicht irgendwelche Compileroptionen passen nicht zusammen.
ellipse für alle unspezifische. Ja, und? Was meinst du da mit Silverbullet?
factorypattern schrieb:
Ich gehe davon aus, dass Du den ganzen Thread nicht durchgelesen hast. Nochmal der Haken: Ich bewerbe mich nicht um Senior SW-Entwickler C oder C++.
Ich denke schon, dass ich das meiste durchgelesen habe. Ich beziehe mich auch nicht 100% auf deine konkreten Fragen oder deine Situation, ich teile dir einfach meine Überlegungen mit, vielleicht hilfts dir ja weiter. Und jemand der so eine Bewerbung bekommt, muss sich entscheiden, was er mit dem Mitarbeiter anfangen kann. Deswegen musst du das bei deiner Bewerbung auch berücksichtigen. Und wenn du einfach drei Jahre Berufserfahrung hinschreibst, ist es schon nicht wenig. Da erwartet man normalerweise auch ein etwas höheres Gehalt und evtl. anspruchsvolle Tätigkeiten. Deswegen muss dem Personaler auch klar sein, was du taugst und was du erwartest.
-
factorypattern schrieb:
Leider kenne ich mich nicht mit der Branche des Interviewers aus.
Was für eine Branche?
Normalerweise erwartet man von einem neuen Mitarbeiter nicht unbedingt, dass er sich in der Branche schon auskennt. Das wäre einerseits ein Vorteil, andererseits wäre der Mitarbeiter dann vermutlich auch ein gutes Stück teurer.
Ich arbeite zur Zeit im CAD/PDM Bereich. Natürlich ist es eine Welt für sich und da muss man sich erstmal auskennen. Ich hab etwa ein Jahr gebraucht, um richtig reinzukommen. Lag jetzt auch nicht unbedingt an der Branche an sich, sondern daran, dass unsere Software so komplex und umfangreich ist und wir irgendwie alles mögliche machen, und wenn es bei uns heißt, da gibts irgendwie Komponente "x" und die macht irgendwas, denkt man sich vielleicht erstmal nichts dabei, aber wenn man die sich irgendwann anschauen muss, dann hängt da oft sehr viel mehr dran, als man erwartet hätte. Deswegen fühlt man sich als Anfänger erstmal erschlagen. Wenn man etwas einbauen muss, fängt man und denkt, man ist gleich fertig. Und dann erfährt, dass man noch 200 Sachen nicht berücksichtigt hat... Also, es reicht normalerweise, wenn du als Entwickler gut genug bist, dass du ein Experte in der jeweiligen Branche bist, erwartet man selten.
-
Mechanics schrieb:
... Deswegen musst du das bei deiner Bewerbung auch berücksichtigen. Und wenn du einfach drei Jahre Berufserfahrung hinschreibst, ist es schon nicht wenig. Da erwartet man normalerweise auch ein etwas höheres Gehalt und evtl. anspruchsvolle Tätigkeiten. Deswegen muss dem Personaler auch klar sein, was du taugst und was du erwartest.
Es gibt verschiedenen C oder C++ SW-Enwickler. Manche beherrschen C oder C++ innerhalb eines Jahres schon so gut wie Du, dass ein Buch wie "Effective C++ Programmieren" verfassen können. Es gibt aber auch die Programmierer, die fachlich schleppend vorangehen. Ich gehöre leider zur zweiten Gruppe. Ich bin nicht so schlau wie Du, aber will andere Leute nicht anlügen, dass ich nur 6 Monate mit C++ beschäftigt bin, und in ein paar Jahren Scott Meyers werde.
-
Nicht dass es falsch rüberkommt, ich hab durchaus auch paar Jahre gebraucht, bis ich mich mit C++ anfreunden konnte. Ich hab halt einfach als Schüler angefangen und hatte mehr Zeit.
Es geht nicht unbedingt darum, sehr gut zu sein (natürlich sollte man das selber aber schon als Ziel haben). Man braucht auch "einfach nur Programmierer". Und wenn der Personaler dich richtig einschätzen kann und sowas auch braucht, sollte es schon klappen. Du solltest allerdings weiterlernen.
-
factorypattern schrieb:
Es gibt verschiedenen C oder C++ SW-Enwickler. Manche beherrschen C oder C++ innerhalb eines Jahres schon so gut wie Du, dass ein Buch wie "Effective C++ Programmieren" verfassen können.
Letztes Jahr habe ich Scott Meyers auf der Meeting C++ kennengelernt. Er hielt dort unter anderem einen Vortrag, wie er das neue Effective Modern C++ geschrieben hat. Und wie zu erwarten, schreibt man sowas nicht mal einfach so. Er beschrieb, wie er einen tollen Tipp herausgearbeitet hat, das zur Korrektur und Bewertung an andere Entwickler gegeben hat, die dann festgestellt haben, dass der Tipp gut gemeint, aber kontraproduktiv ist.
Wir sind alle nur Menschen, die über mehr oder weniger Erfahrung verfügen. Erfahrung, die uns vor Fehlern bewahrt, aber auch in Fehler führen kann, wenn die Erfahrung veraltet ist.
Wo ich mir sehr, sehr sicher bin, ist dass es keinen C++-Entwickler gibt, der die Sprache nach einem Jahr wirklich beherrscht. Ich habe vor 21 Jahren mit C++ angefangen und lerne regelmäßig dazu.
factorypattern schrieb:
aber will andere Leute nicht anlügen, dass ich nur 6 Monate mit C++ beschäftigt bin, und in ein paar Jahren Scott Meyers werde.
Mit 6 Monaten Programmiererfahrung in C++ bewirbst Du Dich wohl auch nicht als Software-Architekt.
Beeindruckt haben mich Deine Antworten auch nicht. Du bist halt auf Deinem Weg, Du brauchst bzgl der Umsetzung noch Anleitung, wenn das Professionell werden soll und das ist doch okay. Abgeschreckt haben sie mich jedenfalls auch nicht.
Die Fragen haben mich allerdings auch nicht beeindruckt: Derartiges ist in Bewerbungsgesprächen nicht unüblich.Wir sind alle nicht als Meister vom Himmel gefallen. Vorteil ist natürlich, wenn Du die Zeit hast, Erfahrung zu sammeln, indem Du beispielsweise Datenstrukturen mal selbst nacharbeitest, um sie zu begreifen.
Daraus vielleicht Template-Container machst, um Dich mit Templates anzufreunden.Die Effizient C++ Bücher sind ein Weg, Du kannst nach C++-Idiomen suchen oder Coding Standards und Dir darüber Gedanken machen, worüber sich professionelle Entwickler Gedanken machen und warum. Das hilft, um schnell große Schritte zu machen.
Deine Erwartung an Job und Bezahlung muss entsprechend sein - das schriebst Du ja schon. Große Firmen können es sich leisten, Leute mit 10 Jahren Erfahrung und Diplom zu bezahlen und den Rest zu ignorieren. Für kleinere Firmen kann man aber auch die Chance sein, günstig an jemanden heranzukommen, der C++ wenigstens schonmal gesehen hat.
Und der Rest ist auch ein wenig Glück. Ein Freund von mir, der derzeit in Ausbildung zum FIAE ist, macht durch die Ausbildung Java. Ich rate ihm zu C++. Er hat jetzt eine Praktikumsstelle, die er ohne C++-Kenntnisse erhalten hat, wo er auf C++ auf einem Raspberry PI programmieren soll, was wirklich interessant klingt.
-
@factorypattern: Wenn ich das richtig mitgekriegt habe, dann bist Du bisher nicht zu Bewerbungsgespraechen gekommen, sondern der Bewerbungsprozess war immer vorher beendet. Die Antworten auf moegliche Fragen, die waehrend eines Bewerbungsgespraechs aufkommen koennten, sind zu diesem Zeitpunkt also noch nicht relevant. Allerdings hast Du glaube ich an der Reaktion der anderen Forennutzer hier gesehen, dass Deine Grundlage da ausgebaut werden sollte. Man braucht uebrigens keinerlei Fachkompetenz, um das als Interview-Partner feststellen zu koennen: Man merkt es schon an der Art und Weise, wie Du auf die Fragen eingehst. Ich kann mir vorstellen, dass man das auch schon im Bewerbungsschreiben feststellen kann. Zum Beispiel ist, wie volkard schon angemerkt hat, die Verwendung des Begriffs "C/C++" ein Indiz in diese Richtung. Vielleicht gibt es da aber auch noch viel mehr. Es waere vielleicht wirklich ganz gut, wenn Du mal so ein Bewerbungsschreiben anonymisiert in Textform hier postest. Dann wirst Du zwar vermutlich jede Menge Kritik von den anderen Forenteilnehmern einstecken muessen, aber vielleicht gibt es dabei auch ein paar Aha-Erlebnisse, die fuer Dich sehr hilfreich sind.
-
Hallo Xin, Hallo Gregor,
bedanke mich ganz herzlich bei Euch für alle wertvolle Vorschläge. Das Motiv meines Beitrags besteht einfach darin, Eure Erfahrungen mit dem aktuellen IT Arbeitsmarkt zu wissen, und um mögliche Tipps zur Vorbereitung auf den hervorstehenden Test zu bitten. Im Thread habe ich auch glücklicherweise von Euch viel gelernt. Nach Euch muss ich schon genug Themen selbst beizubringen. Gott sei danke, habe ich noch ein bisschen Luft vor dem Vorstellungsgespräch. Trotz meines akademischen Erfolgs bin ich nicht so weit mit C oder C++ Programmierung Die Stellensuche ist zwar stressig, aber drängt mich meine Kenntnislücke zu schließen. Gotteswill sind meine Antworten NICHT Euch zu beeindrucken, sondern wirklich fachliche Kommentare bzw. Kritiken von Euch anzusammeln.Von ein paar Beiträgen habe ich quasi folgendes Gefühl: Ich bin eine normale Frau, suche gerade einen normalen Mann. Allerdings erinnern manchen Leute mich wiederholt dran, dass Tom Cruise mich nicht passt. Persönlich bin ich zurückhaltend, und üblicherweise nicht sensibel zum Spotten aus meiner Familie. Nochmalige Ironie von Fremden Menschen stößt aber jedenfalls an meine psychologischen Grenzen. Deswegen scheue ich mich, meinen Lebenslauf hier zu veröffentlichen.
Danke nochmal für Eure Antworten und ich drücke mir fest die Daumen
-
Gut so, ich denke aus dem Thread kannst du einige gute Tipps rausziehen. Natürlich ist irgendwann der Punkt erreicht, Kritik zu ertragen, vor allem weil es leichter gesagt als getan ist, diese nicht persönlich zu nehmen. Das verstehe und wünsche dir daher auch alles gute weiterhin!
-
@factorypattern: Alles klar. Bei so etwas muss man rechtzeitig die Notbremse ziehen, bevor es einem zu viel wird.
Ich erinnere mich an mein Studium und meine Promotion... da war es hin und wieder so, dass ich Arbeiten an Korrekturleser gegeben habe und die kamen mit fast mehr rotem als schwarzem Text zurück. Derartige Erfahrungen können schon frustrierend sein und es ist wichtig, dass man das dann nicht persönlich nimmt, sondern einfach das Beste aus der Kritik macht, was man daraus machen kann. Meine Kollegen mussten natürlich auch alle hin und wieder mit so etwas umgehen. Und das ist sicherlich ein wichtiger Punkt, den man sich klar machen sollte wenn man mit viel Kritik konfrontiert wird: Die anderen trifft es auch oft genug, es ist also nicht so außergewöhnlich, wenn man auch mal mit so etwas konfrontiert wird.
factorypattern schrieb:
Danke nochmal für Eure Antworten und ich drücke mir fest die Daumen
Alles Gute auch von mir.
-
factorypattern schrieb:
Von ein paar Beiträgen habe ich quasi folgendes Gefühl: Ich bin eine normale Frau, suche gerade einen normalen Mann. Allerdings erinnern manchen Leute mich wiederholt dran, dass Tom Cruise mich nicht passt.
Sind C++-Entwickler wirklich normal... gewagte These
Vielleicht haben wir da das Problemfactorypattern schrieb:
Persönlich bin ich zurückhaltend, und üblicherweise nicht sensibel zum Spotten aus meiner Familie. Nochmalige Ironie von Fremden Menschen stößt aber jedenfalls an meine psychologischen Grenzen. Deswegen scheue ich mich, meinen Lebenslauf hier zu veröffentlichen.
Wenn Dein Lebenslauf halbwegs logisch ist, sollte der kein Hinderungsgrund sein. Wenn Du jetzt Sozialwesen studiert hast, dann ein paar Jahre im Einzelhandel gearbeitet hast und Dich jetzt als C++-Entwickler bewirbst, dann solltest Du das im Anschreiben ziemlich gut erklären.
Das Anschreiben selbst wird vermutlich der Grund sein. Ich habe Dir angeboten Deine Bewerbung mal zu lesen und Dir Feedback dazu zu geben. Du kannst die auch an mich direkt schicken. Aber bei so vielen Absagen passt da irgendwas nicht. Da muss wirklich ein Schnitzer drin sein, der Dir das versaut.
Gregors Erfahrung (mehr roter als schwarzer Text) wäre dann vermutlich auch der Fall. Das wäre aber auch normal.
Es schadet nicht Deine Fachkenntnisse zu verbessern, aber Du wirst sie erst unter Beweis stellen können, wenn Dich jemand dazu einlädt.
-
Eine Frage, die sich mir beim Durchlesen des Threads stellt:
Du bist ja offensichtlich kein Muttersprachler. Hat ein solcher deine Bewerbungen Korrektur gelesen und die ganzen Fehler ausgemerzt?
Dem vom Arbeitsamt würde ich jetzt einfach mal nicht trauen, vielleicht eher ein Freund/Bekannter?Vermutlich macht das schon was aus, selbst wenn bekannt ist, dass Deutsch nicht deine Muttersprache ist.
-
factorypattern schrieb:
Von ein paar Beiträgen habe ich quasi folgendes Gefühl: Ich bin eine normale Frau, suche gerade einen normalen Mann. Allerdings erinnern manchen Leute mich wiederholt dran, dass Tom Cruise mich nicht passt.
Lass dich nicht entmutigen. So war das aus meiner Sicht nicht gemeint. Stell dir vor, du bewirbst dich bei einer Kontaktbörse, die nur Tom Cruise und einen normalen Mann im Angebot hat. Du sagst also nicht genau, was du eigentlich willst, könnte als auch Tom Cruise sein. Deswegen weise ich dich darauf hin, dass du das präzisieren solltest, um bessere Chancen zu haben.
-
bedanke mich für alle Beiträge im Thread. Vor etwa einer Woche habe ich mich am Vorstellungsgespräch beteiligt, und dabei den vorher mitgeteilten Test abgelegt. Der Test bestand aus 3 Teilen:
1. Schreiben einer class, die qt statemachine erzeugt, also factory pattern sollte aus meiner Sicht dafür eingeführt werden.
2. Herausfinden der Fehler in einem Beispielcode.
3. Umsetzten eines Praxisproblems in UML.Alle Antworten mussten auf Papier geschrieben werden. Aus Nervosität sind dummerweise ein paar Typos unterlaufen. Meiner Schätzung nach soll eigentlich mindestens 70% davon richtig beantwortet werden hätten. Der Interviewer sagte mir aber, dass sie noch viele andere Kandidaten testen müssen, bevor eine Entscheidung getroffen wird. Nun ist schon c.a. eine Woche vorbei, allerdings ist noch keine Rückmeldung bei mir eingetroffen. Die Chance sieht immer düsterer aus