字节跳动校招提前批,Java后端,二面凉经
-
函数A调用函数B,函数B返回一个值给函数A。内部的栈是怎么一个过程?(入栈出栈之类的)。
-
值传递和引用传递是什么?
-
哪些是值类型,哪些是引用类型?
-
哪些东西是放在栈内存中的?哪些是放在堆内存中的?
-
栈中保存的变量和堆中保存的变量分别什么时候清除?
-
Java垃圾回收用的什么算法?
-
哪些对象可以当做GC Roots?(我忘了,明明是前几个星期刚看的,有些懊悔)
-
操作系统的缺页中断是什么?啥时候会缺页中断?
-
页的大小一般是多少?为什么?
-
系统调用是什么?你平时编写的代码中,哪些会进行系统调用?系统调用从用户态到内核态中间发生了什么?(不太会)
-
自旋锁是什么?CAS锁讲一下?ABA问题怎么解决的?
-
三个字段a、b、c建立一个组合索引,查询语句where a=1,b<2,c=3,这一句能否用到索引?
-
用alter改变表结构,假如增加一个字段,会发生什么事情?(不会,答案是会锁住表)
-
如何解决上面的锁表问题?(不会)
-
Redis是什么?为什么支持这么高的并发量?跳表是什么?(跳表不知道,Redis我只会一些基础,面试官就没多问)
-
HTTP的状态码说一下?比如304/404/等等。
-
了解HTTP的缓存等机制吗?(不会,还没深入看HTTP)
-
TCP的TIME_WAIT阶段是在发起方还是在服务端?如何查看TCP的连接数?为什么一台机器有连接数的限制?
-
端口port是为了区分什么?(应该是区分不同的服务,我却回答区分不同的进程,看来还没理解透)
-
HTTP在哪一层?port在哪一层?
-
TCP怎样区分出不同的连接?
-
HTTPS加密传输过程是怎么样的?
-
网络抓包用什么命令?可以看到什么内容?
-
代码题:手写一个单例模式
-
代码题:不含重复字符的最长子串(leetcode原题)
- 反问环节