Want to go to Ali-this is your necessary strength

Source: Internet
Author: User
Tags epoll zookeeper
This is a creation in Article, where the information may have evolved or changed.

Array of algorithms and data structures, linked lists, binary trees, queues, stacks of various operations (performance, scenarios)

Binary search and binary search for various variants

Various sorting Algorithms and complexity analysis (fast, merge, Heap)

All kinds of Algorithm questions (handwriting)

Understand and analyze the complexity of time and space.

Dynamic planning (written in the Hui ... ), greed.

Red-black tree, AVL tree, hash tree, tire tree, B-tree, + + tree.

Graph algorithm (relatively few, also on the two shortest path algorithm to understand it)

Network OSI7 layer Model (TCP4 Layer) protocol for each layer

URL-to-page process

Httphttp/https 1.0, 1.1, 2.0

Get/post and Idempotent

HTTP protocol Header related

Network attacks (CSRF, XSS)

TCP/IP three-time handshake, four-time wave

Congestion control (process, threshold)

Flow control and Sliding window

TCP vs. UDP comparison

Subnetting (usually only written tests are available)

DDoS attacks

B Io/nio/aio three principles, how each language is realized

Netty

Linux Kernel Select poll Epoll

Database (up to or mysql,nosql with Redis) index (including classification and optimization, failure conditions, underlying structure)

SQL syntax (join,union, subquery, having,group by)

Engine contrast (INNODB,MYISAM)

Database locks (row lock, table lock, page level lock, intent lock, read lock, write lock, pessimistic lock, optimistic lock, and lock Select SQL mode)

Isolation level, problem solved in turn (dirty read, non-repeatable read, Phantom Read)

Acid of the transaction

B-Tree, + + Tree

Optimization (explain, slow query, show profile)

The paradigm of the database.

Sub-database sub-table, master-slave replication, read and write separation.

NoSQL related (Redis and memcached differences, if you're familiar with Redis,redis and a bunch of questions to ask)

Operating system: Process communication IPC (several ways), different from threads

Several strategies of the OS (page permutation, process scheduling, etc., each with several algorithms)

Mutex related to deadlock

Linux common commands (when asked will give a specific scene)

Linux kernel correlation (SELECT, poll, Epoll)

Programming language (only Java here): After I pass through the face, the Java sense of coverage is almost the same, but the following is a sub-class.

Java Basics (Object-oriented, four attributes, overloaded overrides, static and final, and much more)

Collection (HashMap, concurrenthashmap, all kinds of lists, the best combination of source to see)

Concurrency and multithreading (thread pool, sync and lock lock mechanism, threading communication, volatile, ThreadLocal, Cyclicbarrier, Atom Packet, Countdownlatch, AQS, CAS principle, etc.)

JVM (memory model, GC garbage collection, including generational, GC algorithms, collectors, class loading and parental delegation, JVM tuning, memory leaks and memory overflows)

Io/nio related

Reflection and Proxy, exception, Java8 correlation, serialization

Design patterns (Common, JDK-owned)

Web-related (servlet, cookie/session, Spring, Mybatis, Tomcat, hibernate, etc.)

See JDK Source code

Project experience this person's project is different, covering the technology is not the same, so can not be unified to say.

Nothing but to find the highlights of their project, resume on the concise and draw attention, at the same time you have to be very familiar with this point (after all, can be prepared in advance)

It is best to practice more, like a script or a manuscript, to ensure that the interview can be very skilled in speaking out, and let people listen very comfortable.

Internship experience If you have an internship experience, the focus of the interview process will also be done in the internship on the above, so we best to do a summary of the work done by the internship, and also catch the bright spot, understand the internal principles, the process of early exercise.

Other extension skills (this is too much, it's almost impossible to master it all, just as a reference for other times to expand your skills)

Distributed architecture: (Understand the principle of the line, if there is real experience better) cap principle and base theory.

NoSQL and KV storage (redis,hbase,mongodb,memcached, etc.)

Service theory (including service discovery, governance, etc., zookeeper, ETCD, Springcloud micro-services)

Load balancing (principle, CDN, consistent hash)

RPC Framework (including some framework theory of the whole, communication Netty, serialization protocol Thrift,protobuff, etc.)

Message Queuing (principle, KAFKA,ACTIVEMQ,ROCKETMQ)

Distributed Storage Systems (GFS, HDFS, Fastdfs), storage models (skiplist, LSM, etc.)

Distributed transactions, distributed locks, etc.

Scripting language: (just as a horizontal extension, generally asked Linux will also ask the shell script) python

Php

Shell

Golang

...

Big Data and data analytics: Hadoop Biosphere (Hive, HBase, HDFs, Zookeeper, Storm, Kafka)

Spark System

Languages: Python, R, Scala

Search Engine and technology

Machine learning algorithms: many models and algorithms. Do not elaborate, if very skilled to go to the algorithm, many domestic companies are very scarce algorithm hillock, other posts can probably understand the theory.

The theory and use of other tools: This is more, ask more like Git, Docker, Maven/gradle, Jenkins and so on, you need to learn selectively.

If you want to learn Java this technology, but also want to get high salaries in the IT industry, can participate in our training camp courses, choose the most suitable for their own courses, technical Daniel Pro, 7 months later, enter the famous enterprises get high salary. Our curriculum includes: Java Engineering, high performance and distributed, high performance, in Layman's. High architecture. Performance tuning, Spring,mybatis,netty source analysis and big data, and many other points of knowledge. If you want to get a high salary, want to learn, want to have a good job prospects, want to compete with others can get advantage, want to go to Ali interview but worry about interview but, you can come, group number: 561614305

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.