字节跳动后端开发实习生1-3面
一面(1h)
介绍项目
项目出现超卖如何解决
你的项目是限定一人秒杀一个商品,那如果一人可以购买两件商品,如何建表,如何保证不超卖?可以用原来的表吗?(需要新建一个表,乐观锁)
如何使用乐观锁
版本号怎么唯一,说了利用数据库自增id,太慢,接着说了雪花算法,还有其他吗,说了zookeeper,可是我不会这个...
为什么需要新建表,有什么字段,新建表后可能出现什么问题(查询关联表过多)
那如何解决关联表过多(给关联表增加相应索引,引入redis)
redis如何解决缓存一致性
减库存过程,为什么不先减库存再查询是否存在订单
减库存命令,redis 如何保证这个命令原子性(redis的单线程模型)
如果有一个用户发起大量请求,这个他第一个请求还没有写入数据库,也就是他可以一直减库存,如何解决?一开始想的是接口限流,但是面试官说现在要对某个用户限流怎么办,在面试官提示下说了用redis来记录用户访问次数
redis分布式锁,实现过程,命令,可能出现的问题
进程与线程关系
进程通信
进程fork子进程,两个进程占用内存情况
用户访问你的服务经过哪些网络协议
一个数据先递增再递减,找出数组不重复的个数,比如 [1, 3, 9, 1],结果为3,不能使用额外空间,复杂度o(n)
二面(1h)
redis 缓存穿透,布隆过滤器
项目中redis用了什么数据结构,字符串,内部原理
redis整数存储有什么优化
redis故障转移过程
https公钥哪里来的,握手过程
jvm垃圾回收,三色标记算法
垃圾回收时间使用过多怎么解决
tcp和udp区别
客户端和服务端可以开启多少个tcp连接
新建一个线程消耗的资源
高考成绩2000万数据,分数0-700,如何快速知道你的排名,如何知道任一分数排名,刚开始想到按照快排思路进行查找,后来想到桶排序
一硬币,一面向上概率0.7,一面0.3,如何公平
两根香,一根烧完1小时,如何测量15分钟
两个链表,可能相交,找出相交的节点,给出证明
写一个函数,求平方根,函数参数为目标数字和精度,测试案例 fn(4.1,0.001) fn(501.1,0.001) fn(0.045,0.001)
三面(1h)
给定m个不重复的字符 [a, b, c, d],以及一个长度为n的字符串tbcacbdata,问能否在这个字符串中找到一个长度为m的连续子串,使得这个子串刚好由上面m个字符组成,顺序无所谓,返回任意满足条件的一个子串的起始位置,未找到返回-1。比如上面这个例子,acbd,3。
二三面连着来的,很多都忘了,答得也不好,希望能过。
**内推帖子**
https://m.nowcoder.com/discuss/399251?headNav=www
#字节跳动##实习##面经##Java工程师#