字节跳动 基础架构 123面(已OC)
个人介绍
背景:末流985计算机本,本校非计算机硕
技术栈:Java(本科c语言有一点基础,今年6月开始系统学的Java)
投递岗位:base成都,日常实习,内推
目前三面已通过,等待HR面
准备过程中参考了很多牛友的面经收获良多,也记录下自己的面试过程,希望对大家有帮助
一面 12.8 60min
自我介绍
- 介绍计网五层体系结构
- HTTP三次握手流程?为什么要三次?
- 从浏览器输入url到显示发生了什么?讲的越详细越好
- TCP、UDP差别?
- TCP怎么实现可靠的?
- TCP首部封装了哪些信息?
- 路由转发过程介绍一下?
- 进程和线程介绍一下?有何区别?
- 进程有哪几种状态?如何切换的?
做题:荷兰国旗问题 LeetCode 75
反问:面试评价
答:总体能答上,有几个回答比较简略,题目做的没问题,一面问基础不问项目,二面让我准备项目
总结:
- 面官在计网那一部分深挖,回答过程中抓你漏洞,沿着漏洞疯狂问,总体是会引导你,给你一些小提示;
- 做题中,while循环的终止条件写错了,面官有帮忙提示;
二面 12.16 55min
自我介绍
针对项目提问(实现原理、流程、以及如何搭建)
- ArrayList和LinkedList区别?线程安全如何?
- 线程池了解吗?有哪些参数?
- Java的内存模型是怎样的?有哪些部分?
- 堆和栈的地址增长方向?
- 讲一讲垃圾回收器中新生代老年代?
- 垃圾收集算法标记清除和标记整理是怎样的?
- 讲一讲类加载过程
- redis了解过吗?持久化方式有哪些?
- 一致性算法了解吗?
- 二分查找和快排的时间和空间复杂度如何?
做题:求根节点到叶节点数字之和 LeetCode129
反问:面试评价
答:java一些基础的回答没很好,其他还OK,做题也没问题,有点紧张
总结:
- 这位面官是问答式的,基本上就是提出一个问题,你回答完之后又马上找下一个问题;
- 给了挺长时间自己介绍项目,针对项目简单提了几个小问题;
- 二面自己确实很紧张,二面结束问我是否有时间直接三面,想了想太紧张了就约了下周
三面 12.22 45min
自我介绍
针对项目提问(面官假设了好几种出错场景,问会如何)
- synchronized修饰静态方法和实例方法锁的是什么?
- 用户空间和内核空间的区别?
- 容器有了解吗?
做题:手撕生产者消费者模型 (只写过PV操作伪代码,问面官能不能只写伪代码,结果给我换了一题)
做题:给出一个ipv4地址,写出对应整数(如0.0.0.1=1) (写一半问我思路,中间他认为我题意理解错了,解释了思路后,没让我写完)
- 给了几行c语言的代码(大概是buf的拷贝和复制过程),问buf经过几次复制(中间有一个函数不认识,问面官啥意思,面官说你没学过c吗,我说本科学过太久没写了,面官:哦哦哦看错了以为你研究生也是计算机的,那我超纲了,然后就结束了)
- 问基本情况(哪里人、以后留哪、研究生方向、为什么不走研究生方向)?
- 问多久能入职、入职时间多长?
反问1:部门和业务?
答1:存储
反问2:面试评价?自我感觉做题没准备好,都是准备的算法题
答2:"没有没有,还是可以的,是我超纲了,看你前两面也挺顺的"
总结:
没有出一题正儿八经的算法题,前面的没让写完有点慌