Freunde, die gefolgt sind, wissen, dass ich viele Interviewerfahrungen aktualisiert habe. Diese Erfahrungen werden alle von Fans beigesteuert.
Heute habe ich einen technischen Standard für Java-Programmierer zusammengestellt, die große Unternehmen interviewen
• None Haben Sie eine solide Grundlage in der Java-Programmierung, verstehen Sie grundlegende Frameworks wie IO und Multithreading
• None Vertraut mit allgemeinen Befehlen und Shells des Linux-Systems
• None Kenntnisse in der Multithread-Programmierung, vertraut mit verteilten Mechanismen, Cache-Funktionen, Nachrichtenwarteschlangen und anderen Mechanismen, vertraut mit JVM, einschließlich Speichermodell, Klassenlademechanismus und Leistungsoptimierung
• None Kenntnisse in Spring MVC, Orm Framework (Ibatis oder Hibernate), Template Engine (Geschwindigkeit), relationalem Datenbankdesign und SQL
• None Gute objektorientierte Programmiererfahrung, fundiertes Verständnis der OO- und AOP-Ideen, ausgeprägte Analyse- und Entwurfsfähigkeiten sowie Vertrautheit mit gängigen Entwurfsmustern
• None Erfahrung im verteilten Systemdesign und in der Stabilität von verteilten Systemen mit hoher Parallelität, hoher Last und hoher Verfügbarkeit
• None Vertraut mit objektorientiertem Design und Entwicklung, vertraut mit verschiedenen gängigen Designmustern und Erfahrung in bestimmten Anwendungsszenarien
• None Vertraut mit Spring, iBatis und anderen Open Source-Frameworks und gängiger Middleware wie Messaging und Speicher.
• None Vertraut mit dem Design und der Entwicklung basierend auf Oracle oder MySQL, Linux-Betriebssystem
• None Mit SOA vertraut, Erfahrung in der Plattformimplementierung, Erfahrung in großen Datenmengen, hochkonkurrierenden Systemen und umfangreichen Website-Konstruktionen
• None Design und Forschungs- und Entwicklungserfahrung für verteilte Systemanwendungsarchitekturen mit Kenntnissen in Java EE, SOA, OSGI und anderen verwandten Technologien
• None Machen Sie sich mit verschiedenen Open Source-Frameworks wie Spring, Hibernate usw. vertraut. Diejenigen, die das Framework selbst entwickelt oder überarbeitet haben, können zuerst berücksichtigt werden
• None Erfahrung im Design von Systemarchitekturen für große E-Commerce-Websites, die O2O-Industrie und C-End-Produkte
• None Sie kennen die gängigen Entwurfsmuster, beherrschen das beliebte Open-Source-Framework SpringMVC / Spring Boot / Spring Cloud von Java, beherrschen mindestens ein ORM-Framework,
beherrschen grundlegende Datenstrukturen und -algorithmen und verfügen über praktische Erfahrung in der Systemanalyse und im Systemdesign
• None Vertraut mit Rest, HTTP, Socket, Webservice, HTTP-Protokoll, mit gleichzeitiger und Multithread-Programmiererfahrung
• None Forschungs- oder Projekterfahrung in Datenbanken wie MySQL, Redis, MongoDB usw. haben.
• None Erfahrung in Design und Entwicklung von Internet-Großdiensten
• None Sie sind mit JVM vertraut, haben ein gewisses Verständnis von JVM und können verwandte Tools verwenden, um die JVM-Leistung zu optimieren
• None Vertraut mit gängiger verteilter Open Source-Middleware, Caching, Nachrichtenwarteschlange usw., vertraut mit gängiger Open Source-Software wie Nginx, MySQL, Redis, Mongodb usw.
• None Vertraut mit dem Design und der Optimierung von MySQL-Datenbanken, mit Erfahrung in der NoSQL-Datenbank, mit Erfahrung in
der Speicherung, dem Design und der Entwicklung von Big-Data-Speichern oder Hochleistungs-Computerplattformen
• None Erfahrung in Design und Entwicklung von Internet-Großdiensten
• None Sie beherrschen mindestens eine Web-Hintergrund-Entwicklungssprache (PHP, Java, .Net, C ++), verfügen über bestimmte Architekturfunktionen und gute Codespezifikationen
• None Vertraut mit Linux / Unix-System und Entwicklungsumgebung
• None Vertraut mit dem TCP / IP-Protokoll, Socket-Programmierung
• None Erfahrung im Design und in der Entwicklung von Hochleistungs- und Großleistungs-Service-Systemen
• None Besitzen Sie eine gute Fähigkeit, Probleme zu analysieren und zu lösen, Aufgaben selbstständig zu erledigen und den systematischen Fortschritt zu kontrollieren
• None Kenntnisse in MySQL oder Mongo DB, vertraut mit Caching-Technologie memcached, redis
• None Erfahrung in der Entwicklung, Entwicklung und Optimierung von verteilten Systemen mit hoher Parallelität, hoher Last und hoher Verfügbarkeit
• None Erfahrung in der Analyse und Konstruktion von B / S-Struktursystemen, Erfahrung im Aufbau skalierbarer, erweiterbarer und hochverfügbarer Systeme
• None Haben Sie gute Entwicklungsgewohnheiten und machen Sie sich mit Maven, Jenkins, JUnit und anderen Tools vertraut
• None Kenntnisse in den Prinzipien und Anwendungen der MVC / REST-Architektur, der Template Engine und der Middleware
• None Machen Sie sich mit der MySQL-Datenbank vertraut und verstehen Sie die MySQL-Indexoptimierung, Abfrageoptimierung und Speicheroptimierung
Technische Experten von BAT, welche technischen Fähigkeiten benötigen sie, um zu erreichen?
Normalerweise entsprechen die technischen Experten von Baidu, Alibaba, Tencent und BAT den technischen Experten von Tencent T4, den leitenden technischen Experten von Ali P8, einem First-Line-Teamleiter oder einem Domain-Architekten der zweiten Ebene. Sie müssen mit dem Geschäft auf einem Gebiet vertraut sein und Kann Einfluss auf andere kooperative Teams ausstrahlen.
Im Allgemeinen sollten einige Themen wie Geschäftsarchitektur, Anwendungsarchitektur, Entscheidungsfindung für Produktfunktionen, Technologieauswahl sowie Zusammenarbeit und Arbeitsteilung auf der Ebene der technischen Experten enden. Der technische Experte ist der Leiter des Frontkampfteams und liefert Entscheidungen nach unten und effektive Informationen nach oben.
BAT ist ein bedeutender inländischer Technologiehersteller, daher können Sie sich auf den BAT-Standard beziehen. Welche Anforderungen stellen technische Experten? Die folgende 4 Zusammenfassung kann als Referenz verwendet werden.
Die Codefähigkeit ist eine grundlegende Fähigkeit. Die Java-Sprache selbst, einschließlich aller Aspekte der Sprache, einschließlich des Verständnisses der Parallelität, des Verständnisses der Speichernutzung, des Verständnisses der Java-Bedienung und -Wartung usw., außerhalb der Sprache selbst, können Sie die in der Community häufig verwendeten Frameworks klar verstehen , Einschließlich Frühling, ob er ein klares Verständnis der von ihm implementierten ioc-, aop-, orm- und Web-Mechanismen hat und über umfangreiche Erfahrungen usw. verfügt.
Schließlich sind in einem großen System alle Arten von Middleware üblich, Caching-Middleware, Nachrichten-Middleware wie Redis, Memcache, rmq usw. Es ist notwendig, gängige Szenarien für die Verwendung von Middleware zu verstehen und die Haltung zu verwenden (wie z. B. Redis Common-Befehle). Sogar einige seiner Betriebs- und Wartungsarbeiten müssen, sobald ein Problem vorliegt, zusätzlich zu spezialisiertem Betriebs- und Wartungspersonal an der Fehlerbehebung teilnehmen, da diese Middleware-Probleme manchmal durch eine falsche Bedienungshaltung verursacht werden.
Ich habe die Sprache selbst und verschiedene Middlewares erwähnt. Wenn Sie über gute Fähigkeiten zur Geschäftsabstraktion und über architektonisches Denken verfügen, können Sie die internen Produkte einer Abteilung entwerfen und implementieren. Dies ist ziemlich schwierig, und ich muss es gehabt haben. Lassen Sie uns die Erfahrung eines bestehenden Projekts übernehmen. Manchmal möchte ich den vorherigen Designer wirklich herausnehmen und kritisieren. Können Sie als Designer die nächste Person, die es übernimmt, sagen, dass dieses System wirklich gut, stabil und stabil gestaltet ist. Es ist erweiterbar und leicht zu verstehen.
Schließlich können die internen Produkte einer Abteilung nicht von einer Person ausgeführt werden. Daher ist es erforderlich, zu kommunizieren und zusammenzuarbeiten. Der geplante Plan muss mit 2-3 kleinen Partnern umgesetzt werden, einschließlich Back-End-Personal, Front-End-Personal und Produkten mit derselben Identität. Rolle, Personen auf dieser Ebene können daran teilnehmen, 2-3 Personen, wie z. B. neue Absolventen usw., mitzubringen. Daher sind Ihr eigenes Verständnis von Wissen, der Austausch von Geist und Führung alles gute Punkte.
In Bezug auf die Technologie habe ich neben der Organisation einer Architekturkarte auch einige Videos mit Freunden gefunden und einige Videos mit mir selbst gesammelt. Die Erklärungen stammen alle von Experten der ersten Wahl, einschließlich einiger von Java verteilter Microservice-Architekturen. Quellcode-Analyse, Leistungsoptimierung, gleichzeitige Programmierung und andere technische Videos. In dieser Zeit gibt es mehr Freunde, die den Job gewechselt haben. Es gibt auch eine Sammlung von BATJ-Interviewfragen, die aussortiert wurden.
Klicken Sie auf den Link,