Ich habe also ein paar Software / Sites in meinem Portfolio. Sie verdienen Geld, aber nicht viel.
Deshalb habe ich mich entschlossen, ein wenig Berufserfahrung zu sammeln, hauptsächlich in Java / PHP-Nachwuchsentwicklungspositionen.
Das Problem ist, dass ich alle technischen Fragen richtig beantworte und wir planen, einen Codierungstest, die letzte Phase des Interviews, durchzuführen. Ich kann mich nie entspannen und über Dinge nachdenken und den Test am Ende sehr langsam machen. ODER manchmal schlage ich einfach auf einen Block und finde es sehr schwierig, auf meinen Füßen zu denken.
Ich verstehe das nicht, weil andere Dinge, die ich geschrieben hatte, weitaus komplexere Probleme lösten, während der "Test" tatsächlich brutal einfach ist, wie das Schreiben und Testen von Palindrom.
In anderen Fällen werden sie mir einen Logiktest mit Abläufen zu mathematischen Operationen geben, und ich werde es in der von ihnen zugewiesenen Zeit wieder nicht tun können.
Ich weiß, dass ich verkaufsfähige Software / Websites schreiben kann, die geringe Einnahmen generieren und Wege finden, Probleme zu lösen, aber ich habe große Schwierigkeiten mit einfachen Codierungstests in Interviews.
Irgendwelche Vorschläge?
Antworten:
Nehmen Sie weiterhin an Interviews teil. Sie werden irgendwann einen Ort finden, an dem Sie Fragen stellen können, die für Ihre Stärken besser geeignet sind. Sie werden auch besser und komfortabler mit Interviews, was nur helfen kann. Betrachten Sie es als ein Spiel, denn das ist es wirklich. Spielen Sie weiter und irgendwann werden Sie gewinnen.
quelle
bool isPalindrome(string)
weil ich es in einer Frist von 15 Minuten auf Papier schreiben sollte. Angesichts eines Texteditors und ohne zeitliche Begrenzung glaube ich, dass ich es perfekt in weniger als einer Minute schaffen könnte.Das ist sehr verbreitet. Die meisten Programmierer können effektiv programmieren, wenn sie sich in ihrer Komfortzone befinden. Zum Beispiel kann ich nur mit vim unter Ubuntu arbeiten. Wenn ich diesen Arbeitsbereich nicht habe, habe ich keine Lust zum Programmieren. Ich brauche auchZum Teil Google für die Recherche.
Ich bin sicher, Sie haben eine Komfortzone für die Programmierung entwickelt. Ich würde empfehlen, sich an die Umgebung zu gewöhnen, in der sich jemand hinter Ihnen befindet und darauf wartet, dass der Code vervollständigt wird. Der beste Weg, sich daran zu gewöhnen, ist, weiter zum Interview zu gehen.
Sie könnten denken, es hat nicht viel Einfluss, und es könnte auch nicht. Aber für einige von uns da draußen macht das Programmieren mit oder ohne Musik, mit einer IDE oder einem einfachen Texteditor, mit einem Holzstuhl oder auf einem Sofa, einem dunklen Raum oder einem hellen Raum einen großen Unterschied in unserer Entwicklung Geschwindigkeit.
Beachten Sie, dass Sie, sobald Sie den Auftrag erhalten haben, in den Büroräumen, die Ihnen zur Verfügung stehen, normalerweise eine eigene Komfortzone einrichten können.
BEARBEITEN : Diese Frage erinnert mich an einen Verkäufer und fragt, wie ich es mir bei einem Kaltanruf bequemer und besser machen kann. Die beste Antwort ist, weiterhin Anrufe zu tätigen und über jeden Anruf nachzudenken. Nach einer Weile verbessern Verkäufer ihre Fähigkeiten und ihren Komfort. Ich denke, Programmierer sind nicht anders, wenn sie Interviews besuchen, schließlich geht es darum, sich dem Interviewer zu verkaufen
quelle
Dies ist nur mein Vorschlag, warum nicht versuchen, ein Unternehmer zu sein. Es könnte viele Menschen geben, die mit dem ähnlichen Problem konfrontiert sind. Wenn Sie Websites für kleine Einnahmen schreiben können, können Sie mit Sicherheit große Einnahmen erzielen.
quelle
Sie haben bereits festgestellt, was Ihr Problem ist - Probleme unter Druck zu lösen (zB wenn jemand Sie beobachtet). Liegt es daran, dass Sie nicht sicher sind, nicht genug Erfahrung haben oder unter Druck stehen?
Es kann eine gute Idee sein, viele Interviews zu besuchen, um etwas Erfahrung und Übung zu sammeln, aber es kann auch zu Gegeneffekten führen. Ständige Fehler in Interviews können Ihr Vertrauen noch mehr erschüttern. Seien Sie also vorsichtig.
Ich empfehle Ihnen, die Peer-Programmierung zu versuchen, damit Sie problemlos Probleme lösen können, wenn jemand Sie beobachtet. Versuchen Sie auch herauszufinden, was Sie davon abhält, unter Druck effektiv zu sein (ist es Stress durch das eigentliche Testen selbst, Stress durch das Arbeiten unter strenger Aufsicht, Stress durch das Arbeiten unter einem bestimmten Zeitlimit usw.).
quelle
Es klingt, als würgst du unter Druck. Da Sie die zeitgesteuerten Beispiele im Rahmen des Interviewprozesses durchführen müssen, müssen Sie lernen, wie Sie darüber hinwegkommen. Hier geht es darum, mit Angst umzugehen, nicht um Programmierkenntnisse.
Eine Möglichkeit wäre, das Schreiben von Beispielproblemen zu üben und die Zeit selbst zu bestimmen. Sobald Sie wissen, dass Sie sie in weniger als zehn Minuten erledigen können, haben Sie möglicherweise Angst, weniger Zeit zu haben.
Eine andere Möglichkeit wäre, sich eine Technik auszudenken, um Ihre Angst zu beruhigen und sich selbst zu entwürgen. Das Erlernen einer Meditationstechnik könnte Ihnen helfen. Oder die Litanei gegen die Angst auswendig lernen (von lerne Dune ). Lerne eine Art Trick, um deine Angstreaktion zu unterdrücken.
quelle
Ich bin ziemlich überrascht, dass dies noch niemand gefragt hat, aber wie nähern Sie sich den Programmieraufgaben ?
Wenn Sie einfach nur in den Code springen, werden Sie sich wahrscheinlich verirren und am Ende einfache Fehler machen und nervös werden. Mach es einen Schritt nach dem anderen:
Wirklich, bei der Lösung von Codierungsproblemen sucht ein Interviewer nicht so sehr nach großartigem Code. Es ist mehr zu sehen, wie Sie ein bestimmtes Problem lösen. Das direkte Eintauchen in den Code ist eine schlechte Sache, Punkt.
Sie werden auch feststellen, dass Sie, wenn Sie über das Problem sprechen (Sammeln von Anforderungen und Design), ein wenig komfortabler werden und weniger wahrscheinlich dumme Fehler beim Codieren machen.
quelle
Projekt Euler
Es scheint mir, dass Sie den Fizzbuz verfehlen Test bestanden. Denken Sie daran, einfache Algorithmen zu betäuben, die im Allgemeinen keinem praktischen Zweck dienen, außer der Feststellung, ob Sie die Kernkonzepte der Programmierung verstehen.
Frischen Sie Ihre Grundlagen auf
Was ich empfehlen würde, ist, dass Sie Ihre Grundlagen auffrischen.
http://projecteuler.net/
Wenn Sie sich anmelden und mit dem Üben beginnen, werden Sie feststellen, dass Sie durch das Durchgehen dieser Beispiele ein tieferes Verständnis für die wichtigsten Programmierkonzepte erhalten. Ich denke, Sie werden dort eine Palindrom-Frage finden, zusammen mit Fibonacci-Sequenzen und anderen mathematischen Konzepten (klingt vertraut).
quelle
Bitten Sie um Feedback beim oder nach dem Interview. Was hat ihnen gefallen? Was haben sie nicht gemocht? Die Antworten könnten Sie überraschen.
Verschiedene Leute suchen natürlich nach verschiedenen Dingen, aber wie Sie versuchen, ein Problem zu lösen, ist in der Regel wichtiger als das Schreiben einer 100% korrekten Lösung. Möglicherweise sorgen Sie sich um die falschen Dinge.
Der beste Weg, um in irgendetwas besser zu werden, ist zu üben. Versuchen Sie, eine Liste mit kurzen Problemen aufzuschreiben. Schreiben Sie dann für jedes Element auf der Liste ein kleines Programm, das das Problem löst. Beginnen Sie mit sehr einfachen Problemen wie FizzBuzz und verbessern Sie den Schwierigkeitsgrad. Können Sie die Probleme lösen, die Sie in früheren Interviews gesehen haben? Finden Sie den größten Teilstring, den zwei Strings gemeinsam haben? Berechnen Sie die Primfaktorisierung von n !?
Die Idee ist nicht, die Lösung für jedes Problem zu lernen, auf das Sie stoßen könnten, sondern sich ein wenig damit zu üben, kleine Programme schnell zu schreiben und auch herauszufinden, wo Ihre Schwachstellen liegen, damit Sie sich verbessern können. Viele Probleme sind mit der richtigen Datenstruktur leicht zu lösen, ansonsten aber schwierig. Stellen Sie sicher, dass Sie eine solide Grundlage für Datenstrukturen haben.
quelle
Üben Sie und finden Sie jemanden, der Sie durch die Grundlagen führt. Es kann eine Handvoll Versuche dauern, aber es könnte überraschend sein, was aufgedeckt wird, wenn Sie Feedback erhalten und dies üben können. Ich wurde von einem Personalvermittler durch die Behandlung eines Whiteboard-Problems geführt, das anscheinend Ihrem Problem hier ähnelt.
Ich schlage nicht vor, Antworten auswendig zu lernen, sondern zu überlegen, was zu tun ist, wenn ein solches Problem vorliegt und wie man es bespricht. Wie sieht das aus? Haben Sie ähnliche Probleme gesehen? Was könnten einige einfache Ansätze in Bezug auf einen Algorithmus bringen? Zumindest ist das mein Vorschlag an Sie.
quelle
Es ist durchaus üblich, dass Softwareentwickler durchfallen, wenn sie gebeten werden, einen Codierungstest zu absolvieren oder ein kleines Stück Code für das Interview zu schreiben. Wie bereits erwähnt, liegt dies daran, dass die meisten von uns nur dann codieren können, wenn sie sich in unserer "Komfortzone" befinden und in einem kleinen Raum sitzen, der von 2 bis 5 Interviewern umgeben ist.
Die Antwort ist dreifach:
üben und mehr üben. Wenn Sie einen Monat lang 30-40 Minuten lang mit Papier und Stift programmieren, werden Sie überrascht sein, wie einfach das wird. Während des Übens - probieren Sie die Art der Programmieraufgaben aus, nach denen Sie bei Interview-Codierungssitzungen gefragt werden - z. B. Implementieren eines Singletons, Umkehren eines Strings usw. Mit "Lesen dieses Junk-Codes und Ermitteln des Fehlers" ist es noch einfacher "- Wenn Sie zwei Wochen lang drucken und diese Ausdrucke analysieren, werden Sie diese Fähigkeit erheblich verbessern.
Lerne, deine Angst zu kontrollieren. Wenn Sie der Meinung sind, dass der Test zu schwierig ist und Sie nur 20% davon abschließen können, machen Sie sich keine Sorgen um den Rest. Es kann sein, dass der Test für die dafür zur Verfügung stehende Zeit unangemessen lang ist (z. B. Männer im Interview, die Ihnen 20 Minuten Zeit geben sollen, um das Interview zu beenden, aber sie müssen das Interview in 5 Minuten beenden, weil die Produktion in die Luft gejagt ist usw.). . Es ist auch möglich, dass andere Kandidaten nur einen Test von 10% absolviert haben. Wenn Sie also 20% absolviert haben, sind Sie anderen Kandidaten immer noch voraus.
Wenn Sie einen Code für ein Interview schreiben, sollten Sie sich nicht die Mühe machen, ihn im ersten Durchgang zu perfektionieren. Implementieren Sie einfach zuerst einen "glücklichen Pfad, auch bekannt als das häufigste Szenario" und kümmern Sie sich später um die Fehlerbehandlung. Wenn Sie keine Zeit mehr haben - fügen Sie einfach eine kurze Notiz am unteren Rand des Blattes hinzu -, was Sie getan hätten, um den Code zu verbessern, wenn Sie mehr Zeit gehabt hätten.
[Muss laufen, wird meine Antwort später bearbeiten / verbessern]
quelle
Wie viele Leute bereits gesagt haben, ist das Üben eines der wichtigsten Dinge. Wenn Sie bereits ein ähnliches Problem gelöst haben, können Sie schnell eine Lösung finden.
Wenn Sie Probleme haben, die Sie nicht selbst lösen können, verwenden Sie die Google-Suche, um Interviewfragen für Ihre Sprache oder Wahl zu programmieren.
Sie können auch Bücher abholen, die für das Unterrichten von CS-Kursen auf niedrigerem Niveau vorgesehen sind. Die meisten dieser Bücher sind mit kleinen Programmieraufgaben gefüllt, die schnell zu Hause erledigt werden können. Sie können zum Üben verwendet werden.
quelle
Ich bin auch bei Tests sehr schlecht und habe es schon immer gemacht. Ich konnte nicht für das Leben von mir herausfinden, warum eine Programmierklasse mir Tests gegeben wurde, um mit Bleistift und Papier zu nehmen. Ich bin nie gut darin geworden. Ich erklärte den Interviewern jedoch, dass ich dieses Problem hatte und davon wusste. Ich habe es auch geschafft, für Firmen zu interviewen, die mir keine dummen Tests gegeben haben.
Mein Vorschlag ist es, dem Unternehmen zu sagen, bevor Sie in das Interview gehen, dass Sie diese Art von Tests nicht durchführen, aber Sie freuen sich stattdessen über X. (Finden Sie eine sinnvolle Alternative, bei der Sie sich wohl fühlen.) Ich habe angeboten, ihnen Code zu senden, und einmal habe ich vorgeschlagen, dass sie mir ein einfaches Programm zum Schreiben geben, und ich bringe es mit zum Interview in 3 Tagen.
Je nachdem, wo Sie Arbeit suchen, kann dies für Sie funktionieren oder auch nicht.
quelle