面试经验|来了字节客户端二面面经
10312
2021.10.13
2021.10.13
发布于 未知归属地

补一个二面吧

本来这个二面我不想写的(以为挂了),因为我后面第二道算法题没有全AC,居然还是我做过的,没想到晚上收到三面通知了(下周一)
先说面试感受,面试官好像是抖音部门的一个小领导,全程做笔录,比较严肃,加上我今天有点感冒全程手心发凉...

  1. 他上来先自我介绍,然后是我自我介绍
  2. 说一下实习做过最有成就感的东西
    我说了我之前实习的时候有一个是解析Excel文件保存到数据库的一个需求,然后没有用阿里的EazyExcel,而是自己捣鼓了一个小Utils做的,然后说了具体的做法,其实就是自定义了一个注解,然后传入模型对象的class类型和文件地址,通过反射利用map保存对象用注解表明的属性Map<String,Field>,再通过excel的第一行获取一个Map<Integer,String>,然后用反射来为对象赋值,这个工具类有需要的可以在评论区说,当然项目里还是推荐用eazyExcel功能更强大

3.TCP和UDP的区别以及使用,没错和一面一样...每次必问

4.DNS的解析过程,越详细越好

5.堆内存和栈内存的区别

6.狂问JVM,我把记得的东西全讲了,运行时数据区域,GC算法,类加载过程,常量池,对JVM不熟悉的推荐看JVM原理最全、清晰、通俗讲解,五天40小时吐血整理,我就是经常看这篇博客才对JVM的了解较深的,算是比较有质量的文章了

7.虚拟内存和物理内存
只回答了最浅显的层面,虚拟内存是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续可用的内存
追问:那你知道什么是MMUS和什么什么bot记不清了,反正我没了解过,操作系统很薄弱,没有系统的学习过,只看过慕课(还没看完)
可能看我不太懂又问了进程和线程的区别...

8.进程的调度
答了抢占式和非抢占式,以及具体的过程
面试官问:你是怎么知道这些知识的呢,你们不是没教过吗
通过B站的慕课(还没看完)和博客(其实是面经看多了)

9.java多线程的实现方式
我答了就是常说的那些,继承Thread类啊,实现Runnable接口,实现Callable接口,利用线程池这些
追问:你说实现Runnable接口,实现Callable接口就可以实现多线程了吗?
我说还是得作为参数new Thread通过start()方法来实现
又说那你说的这些不都是通过Thread类嘛,还有其他的方式吗?直接创建线程的方式而不是通过Thread
我:.....(平时记得就这些啊),平时用一般也不会自己造野生线程都是用线程池的

10.java多线程同步的方式
讲了synchornized的锁升级过程和AQS原理

11.静态变量和实例变量的区别(送分)

12.接口和抽象类的区别(又送一分)

13.hashMap原理底层数据结构,linkedHashMap?

14.程序的编译和连接的过程?
不会,没学过编译原理

15.fork()的原理
不会,只知道这个命令是创建进程的

16.你对安卓有了解吗?
没了解过,我之前是干后端的,你们三面给我挂了又被hr捞过来面客户端....

17.算法题一:二叉树的层序遍历,秒了
18.算法题二:复原IP地址
这道我有印象(其实去年8月份做过),我心想太简单了,一个dfs+回溯搞定,结果字符串处理老是出问题,还不让本地调试,我就楞对着一堆代码看,看了20分钟也没全通过,心想完蛋了,我太菜了,做过的题居然没A

hr打电话说下周三面是字节秋招最后一轮技术面了,让我好好准备,说会问的比较细,比较深
心慌....不想三面再被挂了,加油吧,秋招人!

评论 (17)