本来这个二面我不想写的(以为挂了),因为我后面第二道算法题没有全AC,居然还是我做过的,没想到晚上收到三面通知了(下周一)
先说面试感受,面试官好像是抖音部门的一个小领导,全程做笔录,比较严肃,加上我今天有点感冒全程手心发凉...
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打电话说下周三面是字节秋招最后一轮技术面了,让我好好准备,说会问的比较细,比较深
心慌....不想三面再被挂了,加油吧,秋招人!