字节跳动实习后端开发面经-java

👥面试题目
1、简历中的项目介绍总体功能
2.(1)如果用户提交订单的时候,连续点了2次按钮怎么办?
回答redis校验token+lua防止重复提交
(2)为什么用lua脚本?
(3)怎么设计的key?
用生成的唯一token作为key
3.(1)用redis缓存店铺营业状态,key和value怎么设计的?
key是SHOP_STATUS
(2)spring cache怎么保持redis和mysql一致性
4.(1)保持缓存和mysql一致性的方式还有什么?
答了项目里用过的,比如redis分布式锁,乐观锁cas
(2)刚刚提到的保持缓存和mysql一致性的方式都属于cache aside,还有别的模式嘛?
面试官口音南方再加上线上音质问题,没有听清楚问题,再加上不知道cache aside的中英文,没答上来。
答案:缓存模式(Cache Aside、Read Through、Write Through、Write Behind)
5.(1)工厂模式和策略模式的定义?项目里具体用法?
(2)还有什么常用的设计模式?
(3)单例模式用过吗?说说
6(1)tcp的三次握手过程
(2)为什么要3次握手
7(1)http请求有哪些
(2)head请求?
HEAD请求只返回响应头信息,不返回实际的响应主体,因此数据量比GET请求要小。
(3)http和https的区别?
HTTP:是一个不安全的协议,它不加密传输的数据,这意味着数据在传输过程中可能被截获或篡改。默认80端口。由于不涉及加密解密过程,通常性能稍好。HTTPS:在HTTP的基础上通过SSL/TLS(Secure Socket Layer/Transport Layer Security)协议进行加密,确保了数据传输的安全性和完整性。默认使用443端口。由于需要进行加密和解密,可能会对性能产生一定影响,但这种影响通常可以忽略不计,特别是在现代的硬件和优化算法下。
8.介绍session和cookie
9.(1)介绍mysql的索引
(2)项目中用到的
(3)为什么用b+树
10.假如有一个联合索引失效了,如何排查?没答上来
联合索引又叫复合索引。两个或更多个列上的索引被称作复合索引。
11.手撕一道hard,没写上来,思考了10分钟问能不能换题。leetcode902.最大为 N 的数字组合
12.换题,岛屿数量,dfs写出来了

马上入职了,在公司附近租房遇到了一些问题,接好运!发面经积攒人品
全部评论
哪里投的佬
1 回复 分享
发布于 2024-08-08 09:12 黑龙江
佬,一共有几面呀
点赞 回复 分享
发布于 2024-09-05 23:14 浙江
日常实习吗哥们
点赞 回复 分享
发布于 2024-08-13 11:54 四川
写个easy给我写汗流浃背了,不愧是字节,来就是hard
点赞 回复 分享
发布于 2024-08-09 12:58 四川
佬是什么bg
点赞 回复 分享
发布于 2024-08-09 02:25 山东
佬,项目是黑马点评吗?
点赞 回复 分享
发布于 2024-08-07 15:04 江苏
在官网投的吗
点赞 回复 分享
发布于 2024-08-07 10:39 四川
我也是岛屿数量,我那是飞书,不过一面挂了
点赞 回复 分享
发布于 2024-08-07 00:30 浙江

相关推荐

2025-12-22 17:15
门头沟学院 Java
1. 实习介绍2. HashMap底层数据结构- 链表树化的条件:当链表长度大于8且map容量超过64时,链表会进行树化。- 这样设计的原因:主要是结合内存开销和性能进行综合考虑。- 若key一直有冲突该如何处理?3. 介绍ConcurrentHashMap4. 说下CAS和synchronized锁的区别?5. Java的垃圾回收机制?6. 项目介绍- 数据存储是否为单表存储?表的数据上限是多少?能否存储一亿条数据?- 当单表超过5kw行或者容量超过2GB时,需考虑分库分表。- 订单表数据量较大时,如何选择分库分表键?是否了解分库分表?- 分库可以解决并发量大的问题,但数据库的连接数量有限,若进行分库,用户如何知晓请求该发送到哪台机器上?- 分表是将订单、物流、商品、会员等数据分别存放在独立的数据库中。7. MySQL底层数据结构?为什么采用B+树?为何不使用B树?8. 了解MySQL聚簇索引吗?有哪些方式可以避免回表操作?-  select id, name from table where name ='ls'  -- 不回表-  select * from table where name ='ls'  -- 回表9. 了解MVCC吗?它可以解决哪些问题?在不同隔离级别下,MVCC的处理方式有何差异?10. Redis在项目中的使用场景11. Redis除了实现分布式锁,还能有哪些应用?- 如何利用Redis进行限流?具体如何实现?
点赞 评论 收藏
分享
2025-12-20 13:10
门头沟学院 Java
项目 1.项目的难点 如何解决2.互斥锁的粒度是什么样的3.这个锁是每次往缓存里写任何数据都需要加锁吗4.比如说读的是多个优惠券的这种信息,可能有不同的人同时请求,他读的是不同优惠券的这个信息然后都被击穿的话,你是共用的是一把锁呢?还是每个优惠券一张锁呢?5.这个锁是怎么实现的6.nginx反向代理去保护后端服务器的原理是什么7.热门商品假如是在8点上架,8点的时候可能会有很多请求打过来,在redis中还没有,那这些请求都会去读数据库,这块应该怎么优化?8.假设redis判断用户购买资格成功,但是在扣钱的时候失败了应该怎么办9.有没有测过秒杀券一秒能够支持多少个请求,最大?10.测出来的2000是因为jmeter自己有性能瓶颈呢?还是说其他原因导致的性能瓶颈?11.假设我们想把qps提到10w,应该在哪些方面做什么样的改造?多个数据库怎么配置呢?写操作主要依靠主节点,加多个从节点对写操作意义不大,这块还能做什么优化?八股1.类的成员变量,方法的静态变量,这三种变量在多线程条件下哪个是线程安全的,哪类的静态变量,哪个是不安全的算法1.二叉树的平均高度:每一条路径的高度是根节点到叶子节点的长度2.一个不重复的升序数组,左移k次,给你左移后的数组,问左移了几次?如果数组中有重复的元素呢?
点赞 评论 收藏
分享
评论
16
111
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务