字节跳动-广告-java后台面经(凉)
一/二/三 面时间都比较久远了,只能依稀记得一些...
三面面的不太好,然后还面了四面.... 简直要被掏空
每一面都要自我介绍,每一面都要code
一面 (偏基础)
02.26
- 进程线程的区别
- 进程间如何通信
- 消息队列了解吗?
- 输入url到显示页面,整个过程(阿里的面试要求说出网络每一层,做了什么事情,用了什么协议,尽量准备的详细一些)
- tcp 三次握手,四次挥手
- mysql 建立索引的时候,有没有什么需要注意的
- 索引建立过多,对于写/读有什么影响?
- 登录的整个过程
- cookie 和 session的区别
- 简单难度编程题,一对正负相见的数,要求把数组改写成[正,负,正,负,....] 正负相间
例如:
[1, 2, -3, 9, -10]
变成
[1,-3,2,-10,9]
二面
1.项目相关
2.给一个场景,如何建表(场景不记得了....)
3.聊聊springboot ,有哪些有哪些模块,认为用他的时候哪里比较困难等
4.elastic search 了解吗,有没有用过?
5. 用like关键字,走不走索引?
6. 项目里面redis怎么用的?设置没过期时间?什么策略?
7. spring请求发送到后台之后,是不是每个请求都单独开一个线程?如果线程量太多了怎么办?
8. 10g数据,1g内存,怎么找数据里面的中位数?
9. 编程题
大概是 一堆区间, 例如 [1,2],[3,4][2,9] 等,求这堆区间覆盖在数轴上的长度,区间无序
三面
1.项目
2.实习
实习的过程中有做过单元测试,面试官就问了测试的时候是怎么准备数据的... ,总不能每次都插入再删除吧之类的
3. http 和 https 的区别
4. https 加密方式
5. dns的寻址过程
6. 操作系统段页寻址方式,访问几次内存
7. 进程调度的算法
8. hashmap的hash算法有哪些实现方式,怎么解决地址冲突
9. post / get 携带参的区别,放在url上和body里面有什么不同
10. 请求达到后台之后,后台是怎么决定谁来执行的?(大概是怎么问的.. 不知道所以记不清...
11. 聚簇索引和非聚簇索引
12. myism 和 inodb 的区别
13. mysql的默认隔离级别是啥,是怎么实现的
14. mysql索引是什么原理
15. sql题, 一个表 包括 orderid , buyerid, sellerid, 复购的概念是 一个用户在一个商家购买超过1次,要求求出复购订单的数量
16. 编程题,正整数数组,数字代表可以走几步,问能不能走到最后,例如
[1,2,3,4], 可以从位置1 走1步到2, 从位置2走2步到4,能走到最后,[1,0,3,4,5],位置1只能走1步,走到位置2不能再走
四面
1.项目...
2. http 请求报文结构, 302, 304啥意思
3. 后台怎么判断传过来的数据是json的
4. 怎么上传文件
6. 图片怎么传
7. 怎么设计一个定时任务(不是用java的轮子,是自己设计
后来问了面试官,说是把任务放在按照时间排序的队列里面,到了之间就把队头拿走执行,大概是这个思路,看了Timer的源码,大概是这样,js的setimeout也差不多这个思路...
8. 查看用户微博的时候,怎么实现按照时间倒序分页查询的?把整个从前到后的流程写一下,中间涉及的sql语句写一下。
9. 上面场景,我使用limit实现的分页,如果微博特别多,效率会不会比较低,怎么改进?
本来说三面就结束了,ok就继续推进到hr,不行就bye bye ,结果又来了四面.....
四面还没结果,今年的第一场面试,紧张ed..
20min就结束了...
总结
- 注重基础
- 诱导形式面试,大概是想考察思考过程
- 不要紧张.... 尽量多跟面试官交流...
- hr小姐姐人超好
- 我的项目都比较简单,技术栈比较浅,可能还得做一些加深... 其实我自我感觉每一面都不是特别好.. 但是莫名其妙都过了..(第四面还没结果
0317 收到了感谢信,很奇怪最后一面答的是比较顺畅的,前面答的反而不太好,算是我的第一次面试,送给了字节,往后继续加油。
#Java##字节跳动##面经##实习#