Warum er: 5 Fragen an Lehrer bei Ozon Go

Bild

Go ist eine der Hauptsprachen, in denen Ozon-Dienste geschrieben werden. Letzte Woche haben wir die erste Einschreibung in die Go-Development-Schule eröffnet, in der Sie in zwei Monaten eine der beliebtesten Sprachen der heutigen Mittelstufe kostenlos lernen können. Warum gehen, für welche Aufgaben es am besten geeignet ist und was Sie vom Lernen in der Schule erwarten können, sagen die Entwickler des Ozon IT-Labors, sie sind auch Lehrer der Schule.


  1. Go?
  2. / ?
  3. / Go?
  4. ?
  5. ?
  6. : Go?

, « , »


Bild1. Wie lange schreibst du schon auf Go?
Ich habe genau 5 Jahre auf Go geschrieben, vor dieser Bestellung habe ich 8 Jahre lang PHP geschrieben, während ich noch JS, Python in der Größenordnung von einem Jahr überfiel. In der Schule schrieb er 2 Jahre lang aktiv über Pascal und schaffte es sogar, in der 11. Klasse ein vollwertiges grafisches Tetris herzustellen.

2. Wie ist diese Sprache für Sie interessant / anders als andere?
Ich würde nicht sagen, dass die Sprache etwas Besonderes ist, aber im Vergleich zu PHP gibt es einige Unterschiede. Zunächst war es für mich interessant, mit Multithreading und allem, was damit zusammenhängt, zu arbeiten. Zweitens habe ich hier die Möglichkeiten einer flexiblen Architektur auf der Basis von Schnittstellen und kleinen Modulen / Bausteinen vollständig aufgezeigt. Und schließlich Unterstützung für viele Bibliotheken, ein Microservice-Ansatz und die Fähigkeit, so schnell wie in schwach typisierten Sprachen zu schreiben.

3. Was ist das größte / interessanteste Projekt, das Sie auf Go geschrieben haben?
On Go begann ich in Lazada (südasiatischer E-Commerce, den Alibaba später kaufte) zu schreiben, und alle dort gesammelten Erfahrungen wurden in Ozon angewendet. Als Ergebnis stellte sich heraus, dass dies das Herz der Ozon-Website bildete und alle Composer-Projektteams miteinander verband. Dieser Name kam zu ihm, weil er als Komponist die gemeinsame Arbeit vieler Widgets verschiedener Teams kontrolliert und die Arbeit vertikaler Teams minimiert. Über das Verwaltungssystem dieses Produkts können Sie beliebige Seiten der Website erstellen. Dies ist jedoch kein Content Management System (CMS), sondern eine Vorlagen-Engine. In gewisser Weise können Vorlagen mit Widgets als Metaprogrammierung verwendet werden, da Ihnen if, tryCatch, Paginierung usw. zur Verfügung stehen. Der gesamte Verkehr auf der Ozon-Website verläuft über uns.

4. Für welche Aufgaben ist die Sprache am besten geeignet?
Die Sprache kann für eine Vielzahl von Zwecken verwendet werden. Meistens wird sie zum Erstellen von Microservices und kleinen Bibliotheken verwendet. Wenn Sie parallel arbeiten müssen, gibt es viele Netzwerkanrufe.

5. Worüber sprichst du auf dem Kurs?
Während des Kurses möchte ich darüber sprechen, was zukünftige Ozon-Mitarbeiter erwartet. Warum unter meiner Leitung das Composer-Projekt geboren wurde, wie es vor ihm war, wie ähnliche Aufgaben durch andere Ansätze gelöst werden, zum Beispiel das bekannte MVC. Im Ozonmaßstab sind andere Lösungen jedoch nicht mehr so ​​effektiv. Hier erfahren Sie die Details des Projekts und viele Tricks, die die schwierigen Aufgaben großer Projekte lösen.

In der Praxis erstellen wir einen Backend-Service mit mehreren Widgets, implementieren diese Widgets auf der Seite und zeigen sie sogar auf der Site an. Wir werden diesen Widgets auch Interaktivität hinzufügen, indem wir asynchrones Laden, Handeln und Paginieren verwenden.

6. Warum lohnt es sich, Go zu lernen?
Wenn Sie einer der aktivsten Communities der Entwicklungswelt beitreten, auf dem Markt gefragt sein, coole Dinge tun und stolz auf die geleistete Arbeit sein möchten, dann sind Sie mit Ozon and Go unterwegs.

Masha Pospelova, Entwicklungsgruppe „Sortieren in Fulfillment-Fabriken und Sortierzentren“


Bild 1. Wie lange schreibst du schon auf Go?
Seit ich zu Ozone gekommen bin - 5 Monate zuvor habe ich in C / C ++, Perl, ein wenig Python geschrieben.

2. Wie ist diese Sprache für Sie interessant / anders als andere?
Ich bin sehr beeindruckt von dem Ansatz, der auf Einfachheit und Eindeutigkeit in der Entwicklung basiert. Die Autoren kontrollieren streng alle Erweiterungen der Sprache und versuchen, Redundanz zu vermeiden. Einerseits legt der Standard viele Einschränkungen fest, die einen konkreten Ansatz für die Entwicklung vorschreiben, andererseits löst eine solche Eindeutigkeit viele Probleme.

3. Was ist das größte / interessanteste Projekt, das Sie auf Go geschrieben haben?
Das wahrscheinlich interessanteste Projekt, an dem ich gearbeitet habe, war der Service für Barrierefreiheit von Produkten, der ungefähr 10.000 Anfragen pro Sekunde bearbeitet und zeigt, welche Produkte und von welchen Fulfillment-Fabriken einem bestimmten Benutzer in seinem Dorf zur Bestellung zur Verfügung stehen. Dies ist kein sehr häufiger Fall, wenn Sie das gesamte Wissen über die Feinheiten der Sprachimplementierung anwenden und die Optimierung durchführen können. Außerdem können Sie unter einer solchen Last viele interessante Effekte beobachten, da Go viele interessante Informationen über den Laufzeitstatus liefert.

4. Für welche Aufgaben ist die Sprache am besten geeignet?
Ich würde das für einfache, kleine Dienstleistungen sagen. Meiner Meinung nach ist Go ziemlich geizig in Bezug auf die Organisation des Codes großer Projekte mit einer großen Anzahl von Entitäten und Funktionen.

5. Worüber sprichst du auf dem Kurs?
Ich werde über das interne Framework sprechen, mit dem Sie einen Netzwerkdienst von Grund auf neu erstellen können, der alles enthält, was für die vollständige Arbeit erforderlich ist und in die Ozon-Infrastruktur integriert ist.

6. Warum lohnt es sich, Go zu lernen?
Es scheint mir, dass die Macher von Go große Anstrengungen unternommen haben, um es möglich zu machen, so schnell wie möglich mit dieser Sprache zu arbeiten. Es ist verständlich und unkompliziert, verfügt über eine umfangreiche Standardbibliothek und verfügt über alle erforderlichen Tools zum Schreiben von Komponententests und Benchmarks, zum Debuggen, Profilieren, Bestimmen des Status des Rennens und vielen anderen angenehmen Annehmlichkeiten. Und natürlich macht es große Freude, Code mit sehr leistungsfähigen und vor allem intuitiven Synchronisationswerkzeugen zu schreiben - Goroutinen und Kanälen.

Vladimir Serdyukov, Personal Account-Entwicklungsgruppe


Bild1. Wie lange schreibst du schon auf Go?
Bereits 1,5 Jahre

2. Wie ist diese Sprache für Sie interessant / anders als andere?
Die Sprache ist einfach, schnell kompilierbar, funktioniert auf allen gängigen Plattformen, außerdem verfügt Go über einen integrierten Linter und Fmt.

3. Was ist das größte / interessanteste Projekt, das Sie auf Go geschrieben haben?
Das größte Projekt ist eine Karte der Lieferpunkte von Bestellungen, von denen Ozon mehr als 6.000 hat. Viele asynchrone Anforderungen und strenge Leistungsanforderungen.

4. Für welche Aufgaben ist die Sprache am besten geeignet?
Go eignet sich gut für Aufgaben, die nicht mit der benutzerdefinierten Benutzeroberfläche (Backend) zusammenhängen.

5. Worüber sprechen Sie im Kurs?
Im Kurs werde ich darüber sprechen, welche IDEs für die Entwicklung verwendet werden können und wie die Projektstruktur auf Go aussieht.

6. Warum lohnt es sich, Go zu lernen?
Go ist eine Erkundung wert, da es sich hervorragend zum Erstellen stark belasteter Systeme eignet.

Dmitry Kulagin, Entwicklungsgruppe für Finanzdienstleistungen


Bild1. Wie lange schreibst du schon auf Go?
1 Jahr. Zuvor habe ich ungefähr 5 Jahre in PHP codiert und einige Skripte in Python

2 geschrieben. Wie ist diese Sprache für Sie interessant / anders als andere?
Es ist statisch typisiert, kompiliert, C sehr ähnlich und hat eine großartige coole Community.

3. Was ist das größte / interessanteste Projekt, das Sie auf Go geschrieben haben?
Klassische Ozonpunkte.

4. Für welche Aufgaben ist die Sprache am besten geeignet?
Parallelisieren Sie das Entladen aus der Datenbank, erstellen Sie ein Konsolenprogramm, das schnell auf etwas klickt, und natürlich Microservices. Dämonen

5. Worüber sprichst du auf dem Kurs?
Informationen zum Wechseln von Ihrer Sprache zu Go in Ozon.

6. Warum lohnt es sich, Go zu lernen?

  • Es ist so einfach wie 5 Cent;
  • es frisst [RAM] schneller und weniger als PHP;
  • Er verfügt über die gesamte Infrastruktur, um zu optimieren und zu parallelisieren.
  • Sie werden es lieben, Komponententests zu schreiben, und vielleicht werden Sie die Funktion wie ich direkt im Test debütieren.
  • Es ist schwierig, Spaghetti-Code darauf zu schreiben. Go hat viele Mechanismen (zum Beispiel Linter), die die Hände von Nudeln schlagen. Der erste ist der Compiler
  • Sie müssen weniger Klammern schreiben, aber Sie können das Semikolon vergessen.
  • Sie werden mehr über Geschäftslogik nachdenken als darüber, wo Sie diesen Code ablegen sollen.

Wenn Sie bereit sind , gehen zu lernen , mit einer der größten Golang Teams in Russland, lesen Sie mehr über die Ozon Go Schule und lassen Sie Ihre Anfrage hier . Und für diejenigen, die Go (oder C # .Net) bereits perfekt beherrschen, haben wir ein Empfehlungsprogramm mit der Fähigkeit, 100.000 Rubel für eine erfolgreiche Empfehlung zu verdienen. Im Allgemeinen sehen wir uns bei Ozon - bisher natürlich online)

All Articles