Technologische Neuigkeiten, Bewertungen und Tipps!

So meistern Sie das iOS-Entwicklerinterview

Hinweis: Der folgende Artikel hilft Ihnen weiter: So meistern Sie das iOS-Entwicklerinterview

Zurück zum Blog

Bereiten Sie sich auf das iOS-Entwicklerinterview vor? In diesem Tutorial besprechen wir, wie Sie sich am besten auf das Vorstellungsgespräch als iOS-Entwickler vorbereiten und Ihre Chancen auf eine Anstellung erhöhen.

Hier erfahren Sie, worauf wir eingehen:

  • So bereiten Sie sich am besten auf das iOS-Entwicklerinterview vor
  • Machen Sie sich mit dem Live-Coding-Interviewtest vertraut
  • Verschiedene Interview-Setups, Kombinationen und Komponenten
  • Eine Killertechnik zur Beantwortung von Interviewfragen im Dialogstil
  • So üben Sie für den Live-Coding-Test

Lassen Sie uns zunächst den Interviewprozess selbst besprechen. Wie genau läuft das iOS-Entwicklerinterview ab? Das Vorstellungsgespräch ist nicht immer dasselbe, daher ist es sinnvoll, mehr darüber zu erfahren. Auf diese Weise sind Sie besser auf die Anforderungen Ihres Arbeitgebers vorbereitet.

Die meisten Vorstellungsgespräche für Entwickler bestehen aus:

  1. Handy Bildschirm: Ein Personalmanager telefoniert mit Ihnen für ein 15-minütiges Gespräch. Auf diese Weise kann der Personalmanager Entwickler herausfiltern, die er persönlich interviewen möchte.
  2. Persönliches Interview: Sie werden zu einem formellen Vorstellungsgespräch in das Büro Ihres zukünftigen Arbeitgebers eingeladen. Sie stellen typische Interviewfragen wie: „Was war ein interessantes Projekt, an dem Sie kürzlich gearbeitet haben?“
  3. Live-Codierung: Dies ist einzigartig für Entwicklerjobs. Sie werden gebeten, eine Lösung für eine Programmierherausforderung zu finden. Es gibt viele Variationen: online, persönlich, live oder zum Mitnehmen, Programmieren mit einem erfahrenen Entwickler, Whiteboarding usw.
  4. Testprojekt: Es handelt sich im wahrsten Sinne des Wortes um ein iOS-App-Projekt, bei dem Sie Ihre Fähigkeiten unter Beweis stellen können. Testprojekte werden immer häufiger, da sie oft besser die Stelle repräsentieren, für die Sie sich bewerben.

In der Praxis finden Sie viele Variationen der oben genannten Interviewkomponenten. Einige Arbeitgeber überspringen den Telefonbildschirm und das harte Programmiergespräch und stellen Ihnen lediglich Fragen zu vergangenen Projekten. Einige Unternehmen filtern mit einem Online-Bewerbungsprozess vor. Andere Unternehmen, vor allem größere, widmen der Prüfung von Bewerbern ganze Tage!

Was ist davon bei der Vorbereitung auf das Vorstellungsgespräch zu beachten? Es ist klug, sich auf das persönliche Interview und das Live-Coding-Interview zu konzentrieren. Ein Telefonscreening ist so etwas wie ein kleines persönliches Vorstellungsgespräch, und wenn Sie für den Job geeignet sind, besteht die Chance, dass Sie das Testprojekt trotzdem bestehen.

Kurzer Tipp: Konzentrieren Sie sich bei Vorstellungsgesprächen darauf, sich mit der Beantwortung von Interviewfragen vertraut zu machen (kodiert und nicht kodiert). Eine Reihe davon finden Sie am Ende dieses Tutorials!

Stellen Sie sich vor, Sie sind Personalchef bei einem großen Softwareentwicklungsunternehmen. Sie haben eine neue Stelle für einen iOS-Entwickler frei. Ihr Unternehmen ist sehr beliebt, daher haben Sie Hunderte von Online-Bewerbern. Wie finden Sie die Entwickler, die Sie persönlich interviewen möchten?

In diesem Szenario beginnt das Entwicklerinterview mit der Überprüfung der Kandidaten. Hier ist wie:

  • Der Personalchef liest die Lebensläufe (Curriculum Vitae oder „CV“) durch und erstellt eine Auswahlliste
  • Viele Unternehmen ermöglichen es Entwicklern, sich online zu bewerben, und die von ihnen verwendete Software kann Kandidaten manchmal automatisch überprüfen (Erfahrung, Standort usw.).
  • Einige Arbeitgeber werden Sie zu schriftlichen Sprachkenntnissen (Englisch usw.) befragen, was recht unpersönlich sein kann und für kleinere Unternehmen unüblich ist

Als nächstes plant ein Personalmanager ein Telefoninterview mit den Entwicklern auf seiner Auswahlliste. Wir sind von Hunderten Bewerbern auf ein Dutzend oder nur wenige gesunken. Das kann für Sie als beauftragten Entwickler ziemlich irritierend sein, da Sie zu den 80 % gehören, die ohne einen zweiten Gedanken auf die „Nicht anrufen“-Liste kommen.

Schnell Note: Nicht zurückgerufen zu werden ist das Nein. 1 Frustration für potenzielle Neueinstellungen. Sie können sich selbst helfen, indem Sie einen Personalmanager oder Personalvermittler fragen, wann Sie spätestens eine Antwort auf die Stelle erhalten, und sich bis dahin keine Gedanken darüber machen.

Vorbereitung auf den Telefonbildschirm

Wie bereiten Sie sich auf das Telefoninterview vor? Hier ist wie:

  • Suchen Sie online nach häufig gestellten Fragen zu Telefoninterviews. Eine typische Frage lautet: „Warum haben Sie sich auf diese Stelle beworben?“ Die Beantwortung solcher Fragen nimmt 50 % des Telefonbildschirms ein. (Wir werden später eine Fragetechnik besprechen.)
  • Informieren Sie sich über das Unternehmen, bei dem Sie sich bewerben. Finden Sie heraus, woran sie arbeiten, was die Ziele des Unternehmens sind, und überlegen Sie, wie Sie dazu passen würden. Integrieren Sie diese Erkenntnisse in das gesamte Entwicklerinterview (und nicht nur auf dem Telefonbildschirm).
  • In typischen Telefongesprächen fragt ein Personalmanager nach „roten Fahnen“, wie z. B. Lücken in Ihrem Lebenslauf und häufigem Arbeitgeberwechsel. Es ist klug, auf solche Fragen vorbereitet zu sein, aber bedenken Sie, dass Lücken im Lebenslauf und ein Arbeitgeberwechsel oft nicht unbedingt schlecht sind.

Es ist auch eine gute Idee – wenn nicht sogar ein Muss –, Ihren Lebenslauf und Ihre Bewerbung hervorzuheben. Sie müssen nicht neuartig oder einzigartig sein, um aufzufallen. Wie wäre es mit einem Video-Anschreiben? Es hilft auch, Fähigkeiten und Erfolge für eine bestimmte Stelle hervorzuheben und Ihren Lebenslauf an verschiedene Branchen oder Fähigkeiten anzupassen.

Sie können dem Interviewer auch Fragen stellen. Das ist tatsächlich eine tolle Idee! Es zeigt, dass Sie sich um die Arbeit kümmern, dass Sie sich in den Prozess einbringen und dass Sie echtes Interesse an der anstehenden Arbeit haben. Es gibt Ihnen auch die Möglichkeit, prozessbezogene Fragen zu klären, wie zum Beispiel „Wann erhalte ich eine Antwort auf die Stelle?“

Zwei Fragen, die garantiert einen guten Eindruck hinterlassen, sind:

  1. Was sind Ihrer Meinung nach die wichtigsten Dinge, die ein neuer Entwickler in den ersten 100 Tagen im Job erreichen soll?
  2. Mit welchen Themen oder Technologien sollte ich mich befassen, während Sie andere Kandidaten für diese Position interviewen, um einen zukünftigen Übergang so reibungslos wie möglich zu gestalten?

Profi-Tipp: Erstellen Sie eine Online-Präsentation Ihrer Arbeit. Wie ein Portfolio, aber besser. Konzentrieren Sie sich darauf, Ihre Arbeit so zu präsentieren, dass zukünftige Arbeitgeber ihre Vorteile, Qualitäten und ihren Wert erkennen. Der beste Weg, eingestellt zu werden – immer noch – besteht darin, für Ihre Art von Arbeit eingestellt zu werden, anstatt zu versuchen, als generischer Code-Affe eingestellt zu werden. Sie haben keine Arbeit zum Präsentieren? Beginnen Sie damit und beachten Sie die 2×3-Regel: Entwickeln Sie 3 professionelle Projekte und 3 verwandte Projekte, die zeigen, wer Sie sind (Experimente, Tests, Open Source usw.).

Kommen wir zum persönlichen Vorstellungsgespräch. Sie haben den Telefonbildschirm hinter sich gelassen und wurden in das Büro Ihres zukünftigen Arbeitgebers eingeladen. Mach dir keine Sorge! Sie haben das Entwicklergespräch zu etwa einem Drittel hinter sich. Was wird als nächstes passieren?

Im persönlichen Vorstellungsgespräch besprechen Sie in der Regel Ihren Lebenslauf, die Stelle, das Unternehmen und das Team („Cultural Fit“) sowie typische Interviewfragen. Die meisten dieser Dinge sind thematisch, dh es gibt keine Struktur, die vorgibt, dass Sie zuerst Ihren Lebenslauf, dann die Stelle usw. besprechen. Es ist eher eine Mischung, Sie sollten also so gut wie möglich vorbereitet sein.

Die meisten persönlichen Entwicklerinterviews bestehen grob aus zwei Komponenten:

  1. Smalltalk (scheinbar ziellos)
  2. Fragen und Antworten im Dialogstil

Warte was!? Scheinbar zielloser Smalltalk? Um was geht es?

Smalltalk

Stellen Sie sich vor, Sie sind gerade zum Vorstellungsgespräch angekommen. Sie gehen zur Empfangsdame. „Ja, ich bin um 9 Uhr zum Vorstellungsgespräch hier.“ Sie warten eine Weile und Emma, ​​eine leitende Entwicklerin, kommt Ihnen entgegen.

„Woran haben Sie in letzter Zeit gearbeitet?“ sie fragt dich. Sie beginnen über ein Projekt zu sprechen, das Sie mit Flutter durchgeführt haben. Sie bewerben sich um die Stelle als iOS-Entwickler, haben aber gedacht, dass es klug ist, Ihre Affinität zum Erlernen einer neuen Technologie zu zeigen. Emma und Sie trinken einen Kaffee und bevor Sie es merken, diskutieren Sie, wie sich Flutter und SwiftUI auf die iOS-Entwicklung auswirken.

Das ist scheinbar zielloser Smalltalk! Es ist in jedem Entwicklerinterview unglaublich wichtig. Einerseits erhalten Sie die Möglichkeit, Kontakte zu knüpfen und Ihre Fähigkeiten und Leidenschaften zu zeigen. Auf der anderen Seite können Sie es sich bequem machen, ein Vorstellungsgespräch zu führen und „vor Ort“ zu sein. Oft haben Sie auch die Möglichkeit, sich im Büro umzusehen.

Der Personalmanager oder leitende Entwickler, der Sie einstellt, erhält die Gelegenheit, zu sehen, was in Ihnen steckt. Gehen Sie nicht davon aus, dass das Vorstellungsgespräch beginnt, wenn Sie irgendwo in einem Büro sitzen – es beginnt in dem Moment, in dem Sie einen Fuß in die Tür setzen.

“Warum sollten wir Sie einstellen?”

Die nächste Phase im Vorstellungsgespräch ist das, woran wir denken, wenn wir an „Vorstellungsgespräch“ denken. Es ist der Frage-Antwort-Dialog, auf den Sie sich vorbereitet haben, mit nervenaufreibenden Fragen wie „Warum sollten wir Sie einstellen?“, „Was ist Ihre größte Stärke?“ und „Wenn du ein Tier wärst, welches Tier wärst du?“ (Okay, vielleicht ist Letzteres ein Mythos.)

Wie bereiten Sie sich auf diesen Teil des Entwicklerinterviews vor?

  • Üben Sie die Beantwortung direkter Fragen wie „Was macht Sie perfekt für diesen Job?“ Das Ziel besteht hier nicht darin, eine gewollte, erwartete Antwort zu geben, sondern einen echten Überblick über Ihre Arbeit, Fähigkeiten und Stärken zu geben.
  • Konzentrieren Sie sich nicht zu sehr auf Übungsfragen und die Antworten, die Sie geben möchten, sondern konzentrieren Sie sich auf die Art und Weise, wie Sie darauf antworten. Machen Sie sich mit der Beantwortung vertraut, und zwar so weit, dass Sie mit dem, was Sie vermitteln möchten, experimentieren können.
  • Führen Sie ein Probeinterview mit einem Freund oder einem spezialisierten Dienst wie Codementor durch. Die Simulation eines Vorstellungsgesprächsszenarios ist eine großartige Möglichkeit, das Vorstellungsgespräch in einer risikofreien Umgebung zu üben, sich daran zu gewöhnen und sich darin zu verbessern. Es hilft auch bei Angstzuständen!

Bevor wir fortfahren, besprechen wir eine Strategie zur Beantwortung von Fragen im Dialogstil. Wir konzentrieren uns auf die typische Frage: „Warum sollten wir Sie einstellen?“ Frage.

Ihre erste Reaktion könnte sein: „Nun, ich bin arbeitslos, habe diese Stellenanzeige gesehen und jetzt bin ich hier.“ Aber das ist wirklich nicht das, was ein Interviewer hören möchte, wenn er diese Frage stellt! Der Schwerpunkt liegt darauf, warum sie Sie einstellen sollten. Also… warum sollten sie?

Die ACA-Methode

Eine tolle Technik ist die sogenannte ACA-Methode. Es steht für Advantage-Claim-Advantage, und kurz gesagt, Sie füllen einen Anspruch effektiv mit zwei Vorteilen auf. Sie gewähren zuerst einen Vorteil, dann einen Anspruch und schließen dann mit einem weiteren Vorteil ab.

Nehmen wir an, Sie sind gut in der iOS-Entwicklung. Man kann nicht einfach sagen „Sie sollten mich einstellen, weil ich gut in der iOS-Entwicklung bin“, denn ohne Beweise klingt das unglaublich. Wie können Sie vermitteln, dass Sie gut in der iOS-Entwicklung sind, ohne es direkt zu sagen?

Hier ein paar Ideen:

  • „In meinem letzten Job habe ich an einem großen iOS-Projekt mit Tausenden von Kunden gearbeitet. Es hat mir beigebracht, wie man iOS-Projekte gut entwickelt. Diese Erkenntnisse habe ich seitdem in kleinere Projekte einfließen lassen.“
  • „Ich habe vor ein paar Monaten angefangen, etwas über Flutter zu lernen. Ich beherrsche die iOS-Entwicklung bereits fließend, daher habe ich Flutter verwendet, um mehr über die App-Entwicklung aus einer anderen Perspektive zu erfahren.“
  • „Als Nebenprojekt habe ich diese App im App Store erstellt. Im Laufe des Prozesses wurde ich zum Experten für iOS-Entwicklung. Ich habe letzte Woche diese wunderbare E-Mail von einem Kunden erhalten.“ (E-Mail mit Lob anzeigen.)

Sehen Sie, wie jeder Anspruch (in Kursivschrift) in zwei Vorteile (ACA) verpackt ist?

Sie nutzen das groß angelegte iOS-Projekt, um Ihre Expertise im Software-Engineering zu unterstreichen. Sie nutzen Flutter als Sprungbrett, um Ihr Fachwissen in der iOS-Entwicklung unter Beweis zu stellen. Und Sie nutzen die E-Mail eines Kunden, um den Wert Ihrer iOS-App – und Ihre Fähigkeiten – in Schwung zu bringen.

Was auch immer Sie tun, sagen Sie nicht, dass „Perfektionismus“ Ihre größte Schwäche ist. Jeder sagt das! Wenn Sie feststellen, dass Sie dazu neigen, gewollte, unoriginelle Antworten zu geben, versuchen Sie, die Hilfe eines Fachmanns in Anspruch zu nehmen, um Ihre Stärken und Schwächen herauszufinden. Es ist nicht so schwarz-weiß, aber es kann Ihnen helfen, einen Blick von außen auf das zu werfen, worin Sie gut sind (und was nicht).

Die meisten Entwicklerinterviews beinhalten einen Live-Codierungstest. Manche Entwickler haben Angst davor, andere lieben es. Und warum nicht? Sie können an einer interessanten Herausforderung arbeiten, Ihre Programmierfähigkeiten unter Beweis stellen und dabei hoffentlich einen Job ergattern.

So funktioniert der Live-Coding-Test:

  • Ein Live-Coding-Test ist eine Herausforderung, die Sie durch Programmieren lösen müssen. Die Herausforderungen hängen normalerweise mit den Disziplinen Algorithmen und Datenstrukturen der Informatik zusammen, wie z. B. Zeitkomplexität, Binärbäume, Suchen, Sortieren, Hash-Tabellen und verknüpfte Listen.
  • Live-Codierungstests können online, auf Plattformen wie Codility und HackerRank, per Telefonkonferenz wie Zoom oder persönlich stattfinden. Wie ein Test durchgeführt wird, bestimmt, wie Sie sich am besten darauf vorbereiten können.
  • Sie werden oft gebeten, Ihre Lösung für eine Herausforderung zu erläutern, entweder nachdem Sie fertig sind oder während Sie sie programmieren. Vor allem Letzteres kann unglaublich stressig sein, da man gleichzeitig sprechen und programmieren können muss.
  • Ein Unterabschnitt der Codierungstests dreht sich um Whiteboarding. Wenn Sie das Problem per Whiteboard bearbeiten, erarbeiten Sie Ihren Code im Wesentlichen auf einem Whiteboard – ohne Computer oder Code-Editor. In manchen Fällen können Sie aktiv mit einem erfahrenen Entwickler zusammenarbeiten, um die Herausforderung zu lösen.

Lernen Sie die Programmierumgebung kennen

Lassen Sie uns zunächst die Umgebung besprechen, in der Sie diese Codierungstests durchführen. Nehmen Sie zum Beispiel die Online-Umgebung von Codility:

Dieser Editor unterscheidet sich völlig von dem, was Sie gewohnt sind. Sie haben beispielsweise keine Code-Vervollständigung. Die Codehervorhebung funktioniert möglicherweise nicht perfekt. Oftmals können Sie Ihren Code zwischen den Bearbeitungen nicht ausführen. Es ist völlig anders, als man es gewohnt ist!

Der beste Rat hier ist: Gewöhnen Sie sich an die Codeumgebung, die Sie für den Live-Coding-Test verwenden werden. Wenn Sie wissen, dass Codility für Codierungstests verwendet wird, arbeiten Sie sich durch deren Übungsherausforderungen und lernen Sie die Art und Weise kennen, wie sie Tests bewerten. Wenn Sie Xcode Playgrounds auf Zoom verwenden können, großartig! Online-Codierungsplattformen haben ein Zeitlimit. Berücksichtigen Sie dies also bei der Ausarbeitung Ihrer Strategie. Das Absolvieren von 2 von 3 Tests ist besser als 3 Tests, die nur zur Hälfte durchgeführt wurden.

Whiteboarding

Konzentrieren wir uns als Nächstes auf das gleichzeitige Sprechen und Codieren. Stellen Sie sich vor, das Entwicklerinterview wird über Zoom geführt und Sie geben Ihren Bildschirm frei, damit der Interviewer sehen kann, was Sie tun. Wie werden Sie dem Interviewer erklären, wie Sie eine Lösung für die Herausforderung finden?

Einige Ideen:

  • Überlegen Sie, warum Sie diesen Live-Codierungstest durchführen. Soll nur überprüft werden, ob Sie wissen, wie man programmiert, oder ist da noch etwas anderes los? Die meisten Interviewer möchten Ihren Denkprozess sehen; Sehen Sie, wie Sie ein Problem lösen. Der Schwerpunkt liegt nicht so sehr auf der erfolgreichen Lösung der Herausforderung, sondern darauf, wie Sie sie lösen. Welchen Prozess verwenden Sie?
  • Wenn Sie können, erläutern Sie Ihre Lösung nach Abschluss des Codierungsvorgangs ausführlich. Arbeiten Sie schrittweise. Zunächst erarbeiten Sie einen Teil der Lösung. Dann erklären Sie, wie es funktioniert. Dann fahren Sie mit dem nächsten Teil fort und so weiter. Dies gibt Ihnen eine Struktur, an der Sie festhalten können, und es kann Ihnen helfen, einen kühlen Kopf zu bewahren.
  • Machen Sie sich während des Tests Notizen. Haben Sie einen Grenzfall gefunden, den Sie berücksichtigen müssen? Einen Mechanismus oder ein Teilproblem, das Sie später benötigen? Entladen Sie es aus dem Arbeitsgedächtnis Ihres Geistes und greifen Sie später darauf zurück. Auch beim Whiteboarding ist es besonders hilfreich, sich Notizen zu machen.

Herausforderungen bei der Live-Codierung lösen

Schauen wir uns als Nächstes eine echte Live-Coding-Herausforderung an. Was ist eine gute Lösungsstrategie?

Ihre Aufgabe ist es, Giraffen anhand ihrer Halslänge in Gruppen einzuteilen. Die Giraffen werden ängstlich, wenn sich in ihrer Gruppe Giraffen befinden, deren Hälse viel länger sind als bei ihnen. Sie müssen also sicherstellen, dass die Unterschiede zwischen den Halslängen in einer Gruppe nicht größer als 2 sind. Die Eingabe, die Sie erhalten, ist ein eindimensionales Array der Länge N mit Längen zwischen 1 und 20. Die gewünschte Ausgabe ist a zweidimensionales Array mit Längengruppen.

Die Herausforderung ist einfach: Organisieren Sie ein Zahlenarray so, dass die Unterschiede zwischen benachbarten Zahlen kleiner oder gleich 2 sind. Sie müssen das Zahlenarray in ein Array von Zahlenarrays oder „Gruppen“ umwandeln.

Lösung: Sie können sich die Lösung am besten so vorstellen, dass Sie alle Zahlen sortieren, sie auf eine Linie schreiben und sie mit einem Stift gruppieren (indem Sie eine Linie zwischen den Zahlen ziehen), wenn Sie feststellen, dass der Unterschied zu einer nachfolgenden Zahl größer als 2 ist. Es hilft wirklich, wenn Sie können sich das in Ihrem Kopf vorstellen!

Der Übergang von einer geschichtenbasierten Herausforderungsbeschreibung zu etwas, mit dem Sie arbeiten können, wie zum Beispiel Arrays und Zahlen, ist eine weitere Fähigkeit, die es wert ist, erlernt zu werden. Sie müssen die relevanten Informationen aus der Geschichte extrahieren und die Giraffen im Zoo zurücklassen …

Was ist eine gute Strategie, um dieses Problem zu lösen?

  • Überlegen Sie zunächst, wie Sie diese Herausforderung mit Stift und Papier lösen würden. Beginnen Sie nicht sofort mit dem Codieren! Wenn Sie das Problem im Kopf bearbeiten, können Sie schneller eine Lösung finden, da Sie nicht durch die Swift-Syntax abgelenkt werden. Es hilft Ihnen auch dabei, Grenzfälle zu finden, und es ist ein schneller Gewinn, das Problem mit Ihrem Interviewer zu besprechen.
  • Denken Sie dann über die zeitliche Komplexität nach. Welche zeitliche Komplexität hat Ihr Lösungsvorschlag? Typischerweise beginnt man mit einem Brute-Force-Ansatz, aber sie haben oft eine geringe Zeitkomplexität, wie z. B. O(n2). Bei einigen Live-Coding-Herausforderungen müssen Sie möglicherweise mit einer bestimmten Zeitkomplexität arbeiten, z. B. O(n log n).
  • Lesen Sie die Herausforderung noch einmal durch. Anforderungen, wie z. B. die zeitliche Komplexität, können Ihnen Hinweise darauf geben, was benötigt wird. Beispielsweise kann eine Zeitkomplexität von O(n log n) darauf hinweisen, dass Sie die Eingabe vor der Verarbeitung sortieren müssen. Ebenso könnte die Herausforderungsbeschreibung auf bestimmte Randfälle hinweisen, die Sie möglicherweise berücksichtigen müssen.
  • Machen Sie sich an die Codierung der Lösung. Sie haben sich so gut wie möglich vorbereitet. Konzentrieren Sie sich darauf, Ihren Stift- und Papieransatz mit Code umzusetzen. Sprechen Sie mit dem Interviewer über Ihren Prozess. Wenn Sie fertig sind, testen Sie Ihren Code auf Randfälle. Bei vielen Herausforderungen gibt es einige heimtückische Szenarien, die Sie berücksichtigen müssen und die nicht sofort erkennbar sind. Was ist, wenn die Eingabe beliebig klein oder groß ist? Was ist, wenn es alle die gleichen Zahlen sind? Oder ganze Zahlen unter Null?
  • Senden Sie Ihre Lösung. Wenn Sie online arbeiten, ist das Absenden normalerweise das Ende der Übung und Sie erhalten Ihre Ergebnisse per E-Mail. Wenn Sie ein persönliches Vorstellungsgespräch führen, müssen Sie Ihre Lösung möglicherweise mit dem Interviewer besprechen. Nehmen Sie sich die Zeit, mit ihnen darüber zu sprechen. Auch wenn Ihre Lösung nicht zu 100 % korrekt ist, können Sie mit Ihrem Arbeitsablauf und Ihrer Erklärung möglicherweise einige Punkte punkten.

Üben, üben, üben

Der letzte Ratschlag, den es wert ist, weitergegeben zu werden, ist, viel zu üben. Dies gilt tatsächlich für das gesamte Entwicklerinterview. Arbeiten Sie sich durch die Beispielherausforderungen von Plattformen wie Codility, HackerRank, Project Euler usw.. Machen Sie sich mit einer Strategie vertraut, die für Sie funktioniert. Übung macht wirklich den Meister!

Hier sind ein paar Schritt-für-Schritt-Herausforderungen, die Sie ausprobieren können:

  • Spielen Sie mit Code: Konvertieren römischer Ziffern mit Swift
  • Gewusst wie: Mischen eines Arrays in Swift erklärt
  • Spielen mit Code: Einfügungssortierung in Swift
  • Lassen Sie uns die FizzBuzz-Herausforderung in Swift lösen

Live-Codierungstests in Vorstellungsgesprächen mit Entwicklern werden zunehmend kontrovers diskutiert, da sie möglicherweise nicht repräsentativ für die Stelle sind, für die Sie sich bewerben. Eine interessante Geschichte ist die von Max Howell. Er ist der Schöpfer von Homebrew, einem Paketmanager für Mac/Linux, der auf der ganzen Welt verwendet wird. Er hat sein Vorstellungsgespräch bei Google nicht bestanden, weil er nicht in der Lage war, einen Binärbaum umzukehren, obwohl wahrscheinlich viele Leute bei Google seine Software verwenden …

In diesem Tutorial haben wir besprochen, wie Sie sich am besten auf das iOS-Entwicklerinterview vorbereiten und sich auf den Erfolg vorbereiten können. Hier sind einige wichtige Erkenntnisse, die es wert sind, in die Praxis umgesetzt zu werden:

  • Übe viel! Üben Sie den Live-Codierungstest, Interviewfragen, Whiteboarding, Präsentation Ihrer Arbeit usw. Wenn Sie mit den verschiedenen Komponenten des Entwicklerinterviews vertraut sind, haben Sie bereits die Hälfte geschafft.
  • Mach dir keine Sorgen. Wenn Sie gut in Ihrem Job sind und es Ihnen wichtig ist, an einem Ort zu arbeiten, der Ihre Beiträge respektiert, werden Sie vielleicht bei einigen Vorstellungsgesprächen durchfallen, aber am Ende werden Sie auf jeden Fall dort landen, wo Sie wollen. Bleib dabei!

Interview Fragen

Dieses Tutorial ist natürlich nicht vollständig ohne ein paar Beispiel-Interviewfragen:

  • Wie viele Tennisbälle passen in eine Limousine? (Sie können eine Menge dieser albernen Fragen online finden. Seien Sie originell und versuchen Sie, sie mit dem jeweiligen Job in Zusammenhang zu bringen.)
  • Was denken Sie über technisches Thema X? (Es ist wichtig, Ihre Meinung zu äußern und zu verteidigen. Wenn Sie können, zeigen Sie, dass Sie auch offen für neue Ideen sind.)
  • Warum sollten wir Sie einstellen? (Diese Frage ist scheiße, bis Ihnen klar wird, dass es eine Chance ist, Ihre Arbeit und Stärken zu zeigen.)
  • Was unterscheidet einen großartigen Softwareentwickler von einem guten? Haben Sie das Gefühl, diese Eigenschaften zu haben? (Geben Sie hier keine gewünschten Antworten. Natürlich denken Sie, dass Sie gut in Ihrem Job sind. Beginnen Sie mit Beispielen.)
  • Was sind Ihrer Meinung nach die Prinzipien guter Softwareentwicklung? Welche Grundprinzipien sollte jeder befolgen? (Seien Sie hier nicht zu streng. Eine gute Antwort bringt Grundlagen mit gesundem Menschenverstand und Einsicht in Einklang.)
  • Was machst du gerne außerhalb der Arbeit? (Trickfrage! Es ist eine Falle! Sie wollen nicht, dass man ein Leben außerhalb der Arbeit hat. Ich mache natürlich nur Witze.)
  • Sie sitzen auf einer tropischen Insel fest und haben nichts außer einem Laptop. Was würden Sie tun, um die Insel zu verlassen? (Tolle Gelegenheit für Folgefragen.)
  • Wie finden Sie einen Fehler in einer Anwendung? (Verlassen Sie sich hier nicht zu stark auf Software oder voreingestellte Arbeitsabläufe. Versuchen Sie, die Frage mit wenig Technik zu beantworten.)
  • Was ist ein lustiges Projekt, an dem Sie in letzter Zeit gearbeitet haben? Welche Rolle spielten Sie dabei? (Es ist eine gute Idee, ein Projekt auszuwählen, über das Sie leicht sprechen können. Sie können auch eine Mischung aus früheren beruflichen Projekten und Ihrer eigenen Arbeit erstellen.)
  • Warum haben Sie sich auf diese Stelle beworben? (Eine großartige Gelegenheit zu zeigen, dass Sie sich über das Unternehmen informiert haben und dass Ihre eigene Arbeit gut zum Unternehmen passt.)

Table of Contents