---- 7.14 一面
- 数据库的四个特性(ACID)
- 数据库事务四个隔离级别及解决了哪些问题(脏读、幻读和不可重复读)
- MVCC
- 聚簇索引和非聚簇索引
- 对(a,b,c)建立联合索引,对于“where a = value1 and c = and value3”是否会走索引?对于“where a = value1 and b > value2 and c = value3”是否会走索引?
- TCP、IP 分别在计算机网络体系结构的哪一层?IP 的作用
- (操作系统)虚拟地址空间进程通信的方式
- 二叉搜索树的特性
- 算法一:判断一棵树是否是二叉搜索树
- 算法二:不引入其它数据结构,二叉搜索树转有序链表
一面结束后五分钟内约二面(算法磕磕绊绊写出来了,但是问题答得不怎么样)
---- 7.17二面
- WebSocket 和 Socket 的区别
- 使用 Socket 进行网络编程的流程(答得不咋地,面试官就打断我了)
- 数据库对主键的要求(只会MySQL,答的唯一性和最好是单调递增的)
- 多线程可能会引起的问题
- 锁是怎么实现的(从乐观锁和悲观锁角度答的,答得也不好)
- 装饰者模式;与代理模式的区别;继承还是组合
- Nginx 的 location 指的是什么
- 怎么理解负载均衡
- 算法一:从有序链表中删除重复项
- 算法二:动态规划,m $\times $ n 的网格中,机器人只能向右走或向下走,求从左上角到右下角的走法,要求空间复杂度 O(1);如果不用递归该如何实现
(应该还有不少题,但是我忘记了)答完之后面试官让我等一下,原来他是去找下一个面试官了
---- 7.17三面
- StringBuffer 和 StringBuider 哪一个是线程安全的?二者的其他区别是什么(Java 选手,但是只答出来前一个问题)
- TCP 三次握手
- TCP 为什么要实现三次握手(最后一次握手是为什么)
- MySQL 引擎 InnoDB 和 MyISAM 的区别(答得不好,只知道这两者)
- TCP 怎么实现可靠传输(问过但不记得是哪一面了)
- 算法:A、B 两棵树,判断 B 树是不是 A 树的子结构
三面关于“八股”没什么内容(上述不代表全部,面试得人傻了不记得太多了),更偏向于个人品质这方面(能不能接受加班、怎么证明你的学习能力等等)
---- ,,,
我觉得我答得不太好还能通过,看来这岗位挺缺人。字节确实比较看重基础和算法,当然也可能是我没啥项目。基础这方面又比较偏向于计算机网络和数据库,Redis 也挺想问(但我不会)。白板写算法,难度大概是 leetcode 中等题,如果输入输出比较复杂不进行测试,但一定会要求说清楚思路;可能面试官也会一行一行代码推导看是否符合要求。
#抖音支付#