第一面主要考察基础,先简单自我介绍,以及介绍一下项目,然后开始考察基础。
TCP相关基础知识
问题1:请详细描述三次握手和四次挥手的过程
要求熟悉三次握手和四次挥手的机制,要求画出状态图。
缓存和数据库的基础知识
问题1:描述一下redis有哪些数据结构。
基础的数据结构有5种,String/List/Hash/Set/Zset,还答了高级数据结构HyperLogLog/BitMap/BloomFilter/GeoHash。面试官还问了BloomFilter的原理以及Zset的实现原理,主要讲解跳跃表;延时队列如何实现,分布式锁原理。
问题2:MySQL场景题目
面试官提供场景,要求写出查询SQL,考察联合语句,如何分页以及复杂语句的优化。
第二面:
第二面是电话面试,主要考察项目,通过项目提出基础问题。时间30分钟。
之前有微服务经验,面试官就详细问到微服务的架构、框架的实现、服务治理、分布式一致性等问题。
之前有玩过日志监控系统,首先还是考察架构,ELK的相关知识,重点描述Elasticsearch的一些架构原理,比如倒排索引的原理。
问消息队列的相关知识,接触过Kafka,问了Kafka中消息可以被多个消费者消费吗 ;以及选举机制和HW机制。
开放性问题,讲一个之前遇到的问题,并如何解决的。这个描述生产过程中运行的问题,并描述排查问题。
裸写算法
二叉树多个节点的最近公共祖先
第三面、第四面
第三面和第四面是组长和总监面试,聊解题思路和项目,这二面的特点是根据项目经验问相关的问题,要求广度,尤其考察架构广度,会将目前的项目量级扩大几十倍,重新设计架构,同时涉及到一些压力面试。
The first interview mainly examines the basics. First, briefly introduce yourself and introduce the project, and then start to examine the basics.
Basic knowledge of TCP
Question 1: Please describe the process of three-way handshake and four-way handshake in detail
You are required to be familiar with the mechanism of three-way handshake and four-way handshake, and draw a state diagram.
Basic knowledge of cache and database
Question 1: Describe the data structures of redis.
There are 5 basic data structures, String/List/Hash/Set/Zset, and the advanced data structures HyperLogLog/BitMap/BloomFilter/GeoHash were also answered. The interviewer also asked about the principle of BloomFilter and the implementation principle of Zset, mainly explaining the jump table; how to implement the delay queue, and the principle of distributed locks.
Question 2: MySQL scenario question
The interviewer provides a scenario and requires writing query SQL, examining joint statements, how to paginate, and the optimization of complex statements.
Second interview:
The second interview is a telephone interview, mainly examining the project and asking basic questions through the project. Time 30 minutes.
Previous experience with microservices, the interviewer asked in detail about the architecture of microservices, the implementation of the framework, service governance, distributed consistency and other issues.
I have played with log monitoring systems before, so I first examined the architecture and related knowledge of ELK, focusing on describing some architectural principles of Elasticsearch, such as the principle of inverted index.
Asked about the knowledge of message queues, I have been exposed to Kafka, and asked whether messages in Kafka can be consumed by multiple consumers; as well as the election mechanism and HW mechanism.
Open questions, talk about a problem you encountered before and how you solved it. This describes the problem running in the production process and describes the troubleshooting problem.
Nude Writing Algorithms
The Latest Common Ancestor of Multiple Nodes in a Binary Tree
Interview 3 and Interview 4
The third and fourth interviews are for team leaders and directors to discuss problem-solving ideas and projects. The characteristics of these two interviews are that they ask relevant questions based on project experience, require breadth, and especially examine the breadth of architecture. The current project scale will be expanded dozens of times, and the architecture will be redesigned. At the same time, some stress interviews are involved.
The interview was divided into 3 parts, the first was a written test, and then a video interview for the first and second rounds. They asked some basic questions, such as why you chose this company and this position, your reasons for leaving, your understanding of the job content, whether it is stable, etc.