字节二面、三面面经
客户端开发,没笔试,直接面试的 字节面试体验特别好的是,每次都有小姐姐提前打电话来约面试时间,不会直接给你一个时间或者直接给一个时间段让选择,完全看自己的情况。
二面
8月31日下午2:30, 53min
- 先跟我聊天了5分钟,问为啥不读研转计算机,为啥后续又转了,自学的?觉得跟科班比比的过吗?怎么学的?秋招找工作情况咋样了?有没有面腾讯阿里这些?(因为我是本硕都机械的)
- 线程池了解吗?说说使用经历;
- 下载一个东西,一时间没下载完,但是突然断电了,恢复后还能接着下载是什么原理?
- http断点续传了解吗?
- 下载用的是那一层的什么协议?
- 虚拟内存了解吗?
- synchronized关键字修饰一个静态方法是什么意思?
- 了解读写锁吗?说一下
- dns解析和dns拦截
- Java中表示权限的关键字都有那些个?default和protect分别是什么级别?
- 撕题,蹦格子,有n行m列的格子,从0,0开始蹦,只能往上下左右蹦,一次只能蹦一格。跳到的格子要满足格子坐标拆分后的和小于20,例如(12, 13)满足1+2+1+3小于20. 打印出所有可以蹦到的格子,不可重复打印。(解法:用二维数组来记录,数组坐标即为格子坐标,坐标对应的元素表示是否跳到,1表示已经跳到,0表示没有跳到。然后从0,0位置开始跳动,用回溯的方法把所有可以跳到的位置遍历一遍,并且把可以跳到的位置标记为1,最后遍历数组,打印所有值为1的坐标)
- 反问。
三面
9月3日下午5点,1小时多一点
- 先问了别的offer情况,问为什么别的都投的后端、字节投的客户端
- 撕题1:力扣两数之和的变体,要求打印出所有符合情况的数组下标和元素值。(撕的不太好,思路没问题,有一个语句的实现有问题,面试官就说再给你半分钟,可以考虑下有没有别的方法,有的话就简单讲一下思路,没有的话这道题就先过)
- 撕题2:求二叉树高度(估计看我第一题没撕好,又出了个简单的),问了一下时间复杂度
- 操作系统局部性原理了解吗?
- 都有哪些应用的例子?
- 虚拟内存是怎么应用局部性原理的?
- 线程进程区别
- 进程间通信方式
- 管道适用于什么情况
- jvm内存模型
- jvm的线程和操作系统的线程,有什么联系?是一样的?相互调用的?还是什么关系?
- Java中有几种实现线程安全的方式
- synchronized和lock有什么区别
- 知道哪些lock相关的类
- 说一下锁升级
- 有什么理论或者数据支撑这种锁升级的方案比原来的只使用重量级锁更有效?(锁升级的这个过程也是加大的性能消耗的)
- fork函数了解吗?
- 想不起来了……
- 学习方法,都看了哪些印象深刻的书,看你确实还是看了不少书的,那里来的时间?不用管自己本身的课题吗?(我说都是晚上9点后,科研时间之外学习的)
- 开放题:问让统计深圳市所有下水道井盖的数量,你会怎么做
- 反问
三面后第二天晚上就电话通知意向了,字节效率真的高。
现在距离字节投递还有一周截止呢,今年客户端貌似hc很多,有意向的可以用下面的链接或者二维码内推投递
#字节内推 有意向字节的同学可以通过链接或者二维码投递哟,简历优先筛选。今年客户端方向hc 很多。向你推荐字节跳动的 4324 个热招职位:https://job.toutiao.com/campus/m/position/list?external_referral_code=9F2KUFT