The job-hopping boom of Jinsan Yinsi is about to pass. In the job-hopping season of these two months, Baidu, Alibaba and Tencent, as the three giants of the Internet industry, are very attractive to Internet talents, and their employees are also senior engineers and managers coveted by many Internet peers.

Here’s a summary of the skills you need to get into each of these three companies:

Ali Baba

Solid computer knowledge, including algorithms and data structures, operating systems, computer networks, computer architecture, databases, etc

Have a solid foundation of Java programming, understand IO, multithreading and other basic framework

Familiar with common commands and shell of Linux system

Proficient in multi-threaded programming, familiar with distributed, cache, message queue and other mechanisms; Familiar with JVM, including memory model, class loading mechanism, and performance optimization

Proficient in Spring MVC, ORM framework (IBatis or Hibernate), template engine (Velocity), relational database design and SQL

Good experience in object-oriented programming, in-depth understanding of OO, AOP ideas, strong analysis and design ability, familiar with common design patterns

Experience in large distributed, high concurrency, high load, high availability system design and stability

Familiar with object-oriented design and development, familiar with various common design patterns, and have experience in specific application scenarios

Familiar with Spring, iBatis and other open source frameworks and common middleware such as message and storage. Have read open source framework source code

Familiar with design and development based on Oracle or Mysql, Linux operating system

Familiar with SOA, experience in platform implementation, experience in building large data volume, high concurrency systems and large websites

Experience in distributed system application architecture design and development, proficient in Java EE, SOA, OSGI and other related technologies

Deep understanding of various open source frameworks such as Spring, Hibernate, etc., development or refactoring of the framework itself is preferred

Experience in system architecture design of large e-commerce websites, O2O industry and C-end products

Baidu article

Familiar with common design patterns, familiar with Java popular open source framework SpringMVC/Spring Boot/Spring Cloud, familiar with at least one ORM framework

Familiar with basic data structures and algorithms, practical experience in system analysis and design

Familiar with Rest, HTTP, Socket, WebService, HTTP protocol, concurrent, multi-threaded programming experience

Have research or project experience in Mysql, Redis, MongoDB and other databases

Experience in large Internet service design and development

Familiar with JVM, have some understanding of JVM, and be able to tune JVM performance with related tools

Familiar with common open source distributed middleware, cache, message queue, etc., familiar with nginx, MySQL, Redis, mongodb and other common open source software

Familiar with MySQL database design and optimization, experience with NoSQL database

Experience in big data storage or high performance computing platform architecture, design and development

Experience in large Internet service design and development

Tencent’s article

Proficient in at least one Web backend development language (PHP, Java,.net, C++), with architectural ability and good code specification

Familiar with Linux/Unix system and development environment

Familiar with TCP/IP protocol, socket programming

Familiar with mysql and SQL language

High performance and large capacity service system design and development experience

Proficient in object-oriented design, proficient in J2EE development, Java Web development

Comprehensive and solid software knowledge structure (operating systems, software engineering, design patterns, data structures, database systems, network security);

Good analytical and problem solving skills, able to undertake tasks independently and have systematic progress control ability

Proficient in MySQL or Mongo DB, familiar with cache technology memcached, Redis

Experience in design, development and tuning of large distributed, high concurrency, high load, high availability systems

B/S structure system analysis and design experience, building scalable, scalable, high availability system experience

Good development habits, familiar with Maven, Jenkins, JUnit, etc

Proficient in MVC/REST architecture, template engine, middleware principle and application

Familiar with MySQL database, understand MySQL index optimization, query optimization, and storage optimization

These are the key skills I summarized after the interview with these three companies. If you are interested, you can continue to watch the learning route I provided, which can help you enter these three companies smoothly: I recorded many videos of the following technologies and posted them in my group: 725633148, for everyone to get free learning, I hope to help you whether you can enter BAT company, can be satisfied on the surface of the company.