当前位置: 首页 > 面试经验 >

字节提前批后端

优质
小牛编辑
99浏览
2023-07-29

字节提前批后端

一面

问redis项目和具体实现

redis为什么快

缓存击穿-逻辑过期,缓存空值

怎么查找一个key是否是热点key

redis分布式锁怎么做

http有无状态,怎么实现保存状态?

cookie安全问题,跨域

https,对称与非对称的性能

数据库四大特性,分别怎么实现的

常见隔离机制,怎么实现的

mysql索引结构

为什么b+不哈希

写一个简单sql

有个表:age,score,name,找每个年龄段分数最高的用户

clickhouse和mysql的对比(个人实习经历)

算法:3 30 34 5 9,找该排列组合成一个数的最大值(9534330)

二面

关系型数据库和非关系型数据库区别和应用场景

redis数据一致性

多实例之间的数据一致性

TCP为什么三次握手

你怎么理解异步的?怎么实现的?

让你实现一个异步调度器,最关键的状态有哪几个?(ready阶段,任务执行阶段,返回通知阶段)不确定对不对

如果这个异步调度器要去支持并发,你会加哪些东西(线程池)

线程池动态扩容

kafka零拷贝(当时和epoll对描述符的管理,ready_list,操作系统的mmap联想在一起答了,应该挺加分的)

场景题:有一个榜单,新进来一个数,获得其位置并更新绑定

回答:已经有序了直接数组加二分查找呗

面试官:那一万个数据更新第二名榜单怎么办呢,怎么改进

跳表

算法:给一个n大小无序数组,每页有m个元素,返回第 k页大的元素

eg. arr:7 1 3 2 5 4 6,m=2,k=3

返回:6 5 或 5 6,返回的元素不要求有序

快排变种

三面

网络七层模型

ftp和http哪一层,ip哪一层,从ip往下传找mac地址

怎么防止arp攻击

ip与会话层多了什么维度

redis项目,秒杀业务,超卖怎么解决的?如果库存更新的每个请求都直接打到数据库会挂掉吗 ?怎么办?

了解过令牌桶吗?

扣库存后如果挂掉了还没下单,不就导致卖不完了吗?怎么办?(事务加MQ)

我希望库存加成功后订单一定能创建,不允许失败,咋办。(参考mysql的redo log,扣库存前把请求加入redo log日志)

考虑分布式,把redo log写入磁盘。重启后不一定是同一个机器,咋办

放redis里面,用aof进行保存,反问面试官:但是aof对性能的影响不友好,然后又考虑到这个高并发的场景我觉得可能还是有问题

面试官:创订单的时候其实大部分请求已经被库存查询block掉了

后面和面试官讨论了一下这个问题

copy on write,零拷贝

webserver 拷打

http请求哪些部分

http 2.0

算法:接雨水

 类似资料: