回忆录:后端鼠鼠苦苦哀求日常实习
自我介绍:一只鼠鼠,并非有大厂实习经历,并非双9,并非开发圣体。
腾讯
一面
1.实习(10min)
2.项目(10min)
3.synchronized和reentrantlock
4.怎么等待多个线程结束后,再执行一个任务(countdownlatch)
5.协程了解吗,介绍一下
6.协程怎么调度的
6.JVM相关知识,GC的日志看过吗,了解哪些JVM参数
7.mysql怎么做优化(看explain,修改sql,加索引)
8.分布式锁怎么实现
算法题:反转链表
二面
1.实习业务(10min)
2.threadlocal介绍一下
3.threadlocal的内存回收问题
4.强软弱虚四种引用的区别
5.介绍一下GC
6.三色标记法中灰色标记存在的意义是什么(作为一个中间状态解决 回收存活对象)
7.标记复制和标记整理都会移动存活对象,具体是怎么做对这些对象的引用的变更的
设计题:做一个排行榜(redis zset)
8.redis zset的底层实现,zset底层数据结构怎么实现根据member查询rank、根据rank查询member、根据score查询rank(跳表结点上维护与同一层次的前一个节点的rank间距)
字节
一面
1.实习业务(20min)
2.项目(15min)
算法题:中等题
二面
1.实习业务+项目(20min)
算法题:简单题
hr面
略
百度
一面
1.实习+项目(20min)
2.常见Java八股,忘记记录了。。。(10min)
算法题:简单dp
b站
一面
1.网页输入url->用户看到信息的过程
2.TCP三次握手和四次挥手的时机
3.TCP和UDP的区别
4.golang开启协程的方式
5.java的垃圾回收机制,介绍一下
6.你理解的并发是什么?
7.打开一个网页会有很多内容,比如用户信息、推荐内容,这个过程算并发吗?
8.用户量很大,实时获取内容,怎么去设计交互链路,让服务器的性能优化,减轻请求压力
9.缓存中是用什么形式去保存内容,怎么设计长视频实时传输
10.cdn知道吗
11.mysql查询开播时长大于一小时的sql,开播时间在一天内的记录sql,一天内所有直播时常之和sql
12.explain知道吗
13.直播间送礼物,用户扣余额,直播间加收益,需要事务
14.连续五次送礼物点击会在mysql层发生什么
15.怎么去设计架构解决连续送礼物的问题,怎么样快一些
16.这样会redis mysql数据不一致
17.重复消费问题(说了去重表)
算法题:切蛋糕(简单动归)
18.b+树了解吗
19.为什么不用hash索引?
二面
1.实习业务(30min穿插八股)
2.场景题:有多个服务实例去处理同一个文件服务器上的文件时,怎么保证并发安全
3.分布式id
4.多redis分布式锁怎么实现(说了红锁
5.golang了解吗
6.RocketMQ和RabbitMQ区别
7.为什么RocketMQ吞吐量大(commitlog,零拷贝)
8.了解服务注册和发现中间件吗?
9.了解链路追踪吗,Jeager之类的(不了解)
10.说说熔断和降级
11.了解熔断和降级框架或者中间件吗
12.RPC、Protobuf有用过吗?
算法题:写一个线程安全、可扩展的Trie
初创团队
一面
1.了解线程/进程调度问题吗?讲一下。
2.了解磁盘调度的算法吗?
3.ARP协议了解过吗?
4.Dns协议了解吗?
5.线程之间的同步方式有了解吗?
6.快速排序了解吗?快速排序的三数取中优化策略,在什么数据分布会O(n^2)?为什么工程上还是选择快速排序,有什么优势?
7.redis zset介绍一下?
8.sql标准中的事务隔离级别有哪些?
9.sql标准里有哪些其它异常?可重复读就可以保证没有异常吗?(这里指的是sql标准里一些mysql事务异常,需要去查看)
10.innodb有哪些索引结构?(B+,hash,full-text,空间索引)
11.联合索引结构(走不走联合索引)
12.爬虫了解过吗?(动态js怎么爬,selenium模拟浏览器)
算法题:实现双端队列,参考cpp实现
13.你的优缺点是什么?
14.你的职业规划是什么?
二面
1.实习+项目(20min)
2.讲讲树状数组、线段树。
算法题:搓优先级队列、注意线程安全、扩展性
3.你怎么学习的
三面
1.项目15min
2.设计题:设计一个系统,主要需求是用户充值、用户之间收发礼物。需要有用户查询收发礼物列表,以及安全完整的发礼物事务设计。涉及到大数据量分库分表怎么做收发礼物记录的查询。(20min
3.用了ES,说说对ES的了解
4.ES的模糊匹配怎么做的(想问的是Fuzzy query,说了编辑距离)
5.linux命令:递归查询目录下是否有含有某个关键词的文件或者文件夹
小红书
一面
1.自我介绍
2.项目(10min)
3.让我去做类似ES的模糊匹配应该怎么去做?
4.怎么实现前缀匹配,要匹配后缀呢?
算法题:反转链表->判断回文链表
5.多个人抽奖,有顺序的抽(有先后之分),怎么保证公平呢?(先抽的人中奖概率低一些,保证所有人抽中的概率之和=1)
二面
1.实习(10min)
2.项目(10min)
3.synchronized和volatile讲讲
算法题:双重检验锁-单例
4.为什么要双重检验,第二次检验不做会怎么样
5.new对象会有指令重排序问题吗
6.垃圾回收的年龄是什么,为什么是15晋升老年代,这个可以改吗。
7.spring有哪些特点(说了ioc aop 定时任务 springmvc)
8.介绍ioc和aop
9.spring的bean是线程安全的吗
10.autowired和resource有什么区别
11.golang了解吗?
12.用golang写过什么
13.课程会学golang吗
14.现在大模型应用开发的框架了解吗
算法题:中等二分题:https://leetcode.cn/problems/search-in-rotated-sorted-array/submissions/643325612/?envType=study-plan-v2&envId=top-100-liked
感想
内心os:
这年头找实习还是太难了。。。
收获:
1.面试过程中结构化的表达很重要。
2.过度设计方案和结果 没有 深入理解需求和痛点 重要
3.学是学不完的。。。
#面试问题记录##百度##腾讯##大厂实习##字节跳动#