Von var b bis zum Interview

Hast du die Universität oder das College fast abgeschlossen? Sie wurden zu Interviews eingeladen, gehen aber ohne Vorbereitung dorthin? Sie haben keine höhere Ausbildung, möchten aber als Programmierer oder im IT-Bereich arbeiten? Es wird hauptsächlich darum gehen, einen Job zu finden, ich werde nur für meine Stadt (Tscheljabinsk) sprechen, weil Ich habe hier Arbeit gesucht.



Als ich in meinem zweiten Studienjahr anfing, Arbeit zu suchen, ahnte ich nicht, wie viele verschiedene Unternehmen in unserer Stadt sind. Von Programmierern bis zu Deep Learning. Bitrix-Unterstützung für einen Spieleentwickler (mobil, soziale Netzwerke, Desktop).

Ich war bei ungefähr 8 Interviews (ohne online zu zählen). Sie waren alle in verschiedene Richtungen. Layout, Entwicklung von Desktop-Spielen, Webentwickler (c # +. Net), Webentwickler (bitrix + php), Front-End (js + reagieren). Er hat selbst etwas abgelehnt, sie haben es nicht irgendwohin gebracht. Ich weiß nicht viel.

Näher am Punkt, näher am Code


Ich möchte sagen, was sie bei solchen Interviews fragen und warum sie es tun (um die verwendeten Technologien zu erklären).

Beginnen wir mit einem einfachen. Layout


In den meisten Fällen benötigte jeder Layoutgeschwindigkeit. Sie gaben mir zwei Aufgaben (zwei verschiedene Unternehmen). Das erste ist das Layout der Produktkarten auf der Website. In einer Stunde musste ich das Layout wie auf dem Bild erstellen, das ich zuvor abgeworfen hatte. Die Aufgabe ist nicht kompliziert, aber eine der Bedingungen ist Pixel Perfect (Pixel zu Pixel). Ich hatte ein paar Fehler: eine Nichtübereinstimmung mit dem Layout (falsche Anzeige des Benachrichtigungsfensters und die Logik des Hover-Effekts).

Bild

Die zweite Aufgabe war noch einfacher (pixelgenau war nicht erforderlich). Es gibt ein ToR (Terms of Reference) mit Korrekturen, die auf der Website durchgeführt werden müssen. Änderungen in der Anzeige von Elementen, etwas, das Mobiltelefone konfigurieren, Einrückungen und Farben von Elementen ändern können.

Warum so? Heutzutage gibt es nur sehr wenige Unternehmen, die nach Codierern suchen, daher ist Geschwindigkeit wichtig. Weniger Zeit für die Arbeit, mehr Aufträge, was mehr Gewinn für das Unternehmen bedeutet. Eine solche Position erfordert häufig Präprozessoren (Sass, Mops) und Projektbauer (Schluck, Webpack). TK erhalten Sie bei jedem Job und müssen ihm folgen! TK ist für jeden anders, in den meisten Fällen handelt es sich um ein Textdokument mit einer Liste von Änderungen.

Webprogrammierer (Bitrix)


Es gab 3 Versuche in verschiedenen Unternehmen. In einem haben sie mir nur erklärt, was sie tun müssten. Unterstützung für Unternehmenswebsites (Entwicklung für die Anforderungen dieser Websites) + Zusammenarbeit mit dem Server (Einrichten und Bereitstellen von Websites). Keine einzige Frage ist, was ich kann und was ich weiß.

Aber beim zweiten Interview fragten sie nur, was ich am letzten Arbeitsplatz gemacht habe, was ich mit Bitrix machen kann und was ich allgemein studiert habe.

Das Interessanteste ist das letzte Interview. Hier gab es Fragen zu Fähigkeiten und eine Beschreibung der Unternehmensaufgaben sowie der Aufgaben, die vor Ort ausgeführt werden mussten. Ich hoffe, Sie können etwas über sich erzählen, aber ich bin bereit, Fragen zu teilen. Ich warne Sie sofort, es gab keine Bedingung, in welcher Sprache Sie Code schreiben müssen. Ich habe mich für JS entschieden. Berechnen Sie die Fakultät dafür, was ein Binärbaum ist und wie er durchlaufen werden kann, sortieren Sie Algorithmen, greifen Sie auf die Datenbank zu (einfache Abfragen) und welche class.php in Bitrix enthalten ist.

Die Berechnung der Fakultät ist sehr einfach, unabhängig von der Programmiersprache. Implementieren Sie dies durch Rekursion. Über einen Binärbaum ist schon komplizierter ... Binärbaum (binär) = Datenstruktur. Der Baum wird verwendet, um mit großen Datenmengen zu arbeiten. Es ist nicht verwunderlich, dass bei der Beantragung der Arbeit in Online-Shops genau das verlangt wird. Das Sortieren gilt auch für das Arbeiten mit Daten. Nun, und Zugriff auf die Datenbank, verwenden die meisten Sites im Netzwerk die Datenbank. Dies ist eine Schlussfolgerung aus Site-News, Produkten, einer Liste beliebter Artikel und anderen Elementen.

Am interessantesten ist der Versuch, einen Desktop-Entwickler zu finden


Bild

Ich werde sofort allgemeine Themen erwähnen: OOP und Muster.

Warum? Nun, moderne Entwicklung ohne OOP ... das ist sehr seltsam, genau wie Entwicklung ohne Muster. Ja, Sie können während des Studiums Kursarbeit leisten und keine Muster + OOP verwenden, aber ohne ein Mindestverständnis für Klasse, Vererbung und Polymorphismus werde ich Sie nicht einstellen. Mit OOP können Sie das Programm in Blöcke unterteilen, und mit Mustern wie SOLID können Sie den Code in unabhängige Blöcke unterteilen, sodass Sie sie in Zukunft problemlos ergänzen können.

Alle anderen Themen waren spezifisch, je nachdem, mit was das Unternehmen arbeitete. Wenn es sich beispielsweise um Spieleentwickler handelt, musste ein Testspiel mit der von ihnen bereitgestellten Engine + -Dokumentation geschrieben werden. Ich bekam ein 2D-Kinderspiel (c # + XAML). Die Essenz des Spiels: Es gibt zwei Gläser, eines ist leer, und im zweiten gibt es Bleistifte. Wenn ein Spieler auf RMB klickt, bewegt sich ein Bleistift zu einem leeren Glas und aktualisiert den Punktezähler auf dem Bildschirm. Es war trivial, Bleistifte zu zählen.

Ich hatte auch die Erfahrung, einen Unity-Entwickler zu interviewen, hier war es schon schwieriger, weil und das Spiel wurde 3D gegeben, und der Code wurde überwacht, so dass kein Müll darin war + das Vorhandensein von Mustern, ich habe immer noch dieses Projekt auf Github.

Zurück zu den Unternehmen, wenn dies die Entwicklung des Back-End-Teils (c # +. Net) ist, dann waren die Fragen über die .net-Plattform und ihre Fallstricke. Wenn dies Anwendungsentwicklung ist, müssen Sie TDD (Entwicklung durch Testen), SOLID, OOP kennen.

Ich habe bereits über OOP und Muster erklärt. Warum nach TDD fragen? Ehrlich gesagt, ich weiß nicht ... Ich verstehe den Vorteil dieses Ansatzes nicht vollständig, aber einige Unternehmen verwenden ihn, aber ich musste den Code nur einmal auf diese Weise schreiben. FEST - das sind 5 Muster, die zusammen kombiniert wurden. Nachdem ich bei einem Interview nach diesem Muster gefragt wurde, machte ich mich sofort daran, es zu studieren. Ich sage Ihnen ehrlich, es war schwierig für mich, es zu verstehen, aber das Ergebnis ist ein sehr beständiger Code, der ergänzt werden kann, ohne eine bereits geschriebene Anwendung zu beschädigen. Wenn Sie an SOLID interessiert sind, versuchen Sie, einen Taschenrechner nach diesem Muster zu schreiben. Implementieren Sie zuerst + und - und fügen Sie dann dem Taschenrechner weitere Funktionen hinzu. Ich erinnere mich, dass ich in c # (Konsolenprogramm) geschrieben habe.

Vielleicht ist das alles, was ich Ihnen über das Interview in meiner Stadt erzählen kann. Ja, es gibt sowohl SPA-Entwickler (reactJS ist hauptsächlich erforderlich) als auch Entwickler von Webspielen (alle reagieren in den meisten Fällen gleich und manchmal nur native JS) sowie Python-, 1C-, JAVA-Entwickler und andere. Ich war sehr überrascht von der Vielfalt der verwendeten Technologien und Sprachen. Das ist vielleicht alles für mich. Bis dann.

Source: https://habr.com/ru/post/de430226/


All Articles