字节跳动-技术中台-实习-后端开发-一面
首先是自我介绍
项目介绍
1. 简单介绍你的这个项目
我中间说的比较繁琐,面试官直接打断,开始问我最核心的问题
2.你直接说一下RPC的客户端和服务端是怎么交互的,具体到怎么发包、收包、客户端Netty里面的过程
3.说一说你知道的负载均衡算法(我只答出了两种)
4.Nacos在你的项目中的作用是什么?
5.客户端怎么找到的服务端的ip地址?
6.服务端如何实现鉴权的?(随便蒙的答案,然后面试官直接问其他知识了)
计算机基础知识
- mysql有哪些存储引擎
- innodb的索引用了哪些数据结构
- 一条更新语句的执行过程(回答的不好,面试官沉默了一分钟,然后开始继续问)
- innodb是如何保证事务的持久性的,什么是事务的持久性,
因为可能会出现什么问题导致需要保证事务的持久性? - redis集群了解过吗(不了解)
- redis怎么找热点数据?热点数据可能会导致哪些问题?
(缓存击穿,好像有可能会出现缓存数据不一致) - redis的数据类型?字符串有哪几种实现(有一点点印象)
算法题
二叉树的层次排序,写完面试官看了下,说还可以
反问阶段
1、除了轮转和随机,还有什么负载均衡算法?(需要根据服务器的性能做出自适应的判断,但是负载均衡算法不能很复杂,客户端只能得到服务器的性能信息,至于已经有多少连接是不知道的)
2、那这样的话,大量的客户端优先选择性能好的服务器,会不会导致其他服务器反而是空闲的?
(目前客户端只能得到服务器的性能信息,很少会有自适应的负载均衡算法)
本次面试总结
- 问题都很基础,但是复习的不太好
- 面试官主要围绕你的项目问,计算机基础要多理解,而不是只记忆,看的专业书籍有点少,总结的也不多
- 字节一面的面试官人很nice,不会的知识点不会继续追问,问的问题都挺好的,也会引导着你让你继续说下去