Muss ein moderner Programmierer in der Lage sein, Algorithmen zu erstellen?

Nach einer negativen Reaktion der Habroskker auf meinen letzten Artikel über die Befragung von Programmierern musste ich ihn sorgfältig überdenken, um einige meiner Vorstellungen über Programmierung, Programmierer und mich selbst zu überdenken und zu korrigieren. Und abgesehen von der Arroganz, die von irgendwoher kam, müßige Beispiele (ich habe es nicht getestet - keine Bereitstellung, nicht wahr), habe ich überhaupt nicht ausgedrückt, was ich ursprünglich wollte: Die Hauptsache ist die Fähigkeit, Code zu schreiben, der das Problem löst.


Seitdem ist mir die Verpflichtung zur Teilnahme an technischen Interviews mit Entwicklern nicht entgangen. Das Interviewformat bleibt das gleiche: Es arbeitet mit Code in einem Online-Notizbuch, aber es sind nur noch zwei Aufgaben übrig und sie sind viel einfacher geworden.


Hier ist ein Beispiel von einem von ihnen:


/*   —   ,    : 1    */
function isPrimeNumber(number) {
    /*   ,  true  ,  number     false    */
}

Das Thema im Titel dieses Artikels ist keineswegs rhetorisch und verdankt sein Auftreten Leidenschaften, die sich in Interviews um diese Aufgabe drehen.


Ein bisschen Input: Wir suchen nach vollständigen Stapeln, die in JavaScript / TypeScript schreiben. Das Aufgabenspektrum kann je nach den Wünschen des Entwicklers sehr breit sein: von der Entwicklung eines Abrechnungssystems bis hin zu einer Desktop-Anwendung zum Zeichnen von Screenshots und Hochladen in die Cloud. Dementsprechend sind Grundkenntnisse der Mathematik (Plus oder Minus, Teilen-Multiplizieren, Finden des arithmetischen Mittels, Maximum-Minimum in einer Zahl) sowie die Fähigkeit zur Lösung angewandter Probleme erforderlich, deren Lösung möglicherweise nicht im Stapelüberlauf erfolgt. Gemäß dem Lebenslauf wählen wir Kandidaten auf einer Ebene aus, die nicht niedriger als die mittlere ist und über einschlägige Erfahrung verfügt. Entwicklung ist überhaupt nicht das Kerngeschäft des Unternehmens, daher ist es für uns schwierig, leistungsstarke Entwickler zu gewinnen, und es gibt nur sehr wenige solcher Kandidaten.


, , , , . - . , — .


, , - «». : , , , , — /, . , — , , RabbitMQ, MongoDB, / -.


« », « ». , , . , . - : « , , false, , true». .


, , , . , ( ). , :


1.


- ( ) stackoverflow, - «» .


, , stackoverflow , - , , ? , , : , , , stackoverflow .


2.


, -, . .


« », « Python», « React- » , (, ) . . , , : , React. ? «, », , , .


, . , , . - . , , .


, , , .


, - . , , , — . .


, , . . , . , , - , .


All Articles