字节跳动-Java一面【实习】后端开发工程师(杭州)(√)
- 自我介绍?是计算机专业吗?
-
什么时候开始接触编程?平时怎么学习的?LeetCode刷了多少道?
-
为什么不考研?高考多少分?
-
讲一下Http和Https的区别?
-
讲一下HTTPS秘钥交换的过程?(可以优化)
-
讲一下session、cookie、token有什么区别?(可以优化)
-
JWT有哪三部分?(有点忘记了,大概说全了)
-
对称加密和非对称加密的区别?(只说了一点点)
-
什么是数字签名?(不知道)
- MD5是对称加密还是非对称加密(面试官挖坑,两个都不是,MD5是哈希。。。)
-
说一下TCP/IP协议栈?
-
浏览器输入url过程?
-
TCP握手为什么只要三次,挥手要四次?(听漏了,只回答了后面,没回答为什么握手是三次)
-
socket的创建过程?(学java基础的时候学了,忘记了)
-
私网和公网了解吗?(不知道)
-
把自己的网站给别人应用,需要做什么?
-
Java中垃圾回收了解吗?
-
HashMap怎么实现的?
-
讲一下红黑树?
-
堆和栈有什么区别?
-
讲一下什么是值传递和引用传递?
-
讲一下工厂模式?(不清楚)
-
将一下单例模式?
-
讲一下是什么servlet?为什么要用servlet?(不熟悉)
-
源代码到二进制代码怎么执行?
-
什么是lru算法?什么数据结构实现?插入这么做的?查询怎么做的?(过程忘记了)
-
一次性哈希原理?(理解错了)
-
mysql发一个sql请求,到磁盘查出来需要经过哪里步骤?
-
binlog、undolog、redolog都干嘛的?
-
sql怎么调优?
-
进程和线程有什么区别?
-
进程上下文切换需要保存哪些东西?(没说全)
-
CPU在执行一个线程,什么时候会被切换走?
-
中断知道吗?(不太熟悉)
-
一个32位系统,一个进程访问地址空间是多大?(不清楚)
-
new一个对象,是在虚拟内存分配的还是在物理内存分配?(不熟悉)
-
算法题:
-
dp:走楼梯(简单)
- 求第k大元素(自己手写一个堆)
- 最后手写堆差点忘记了,感觉最后一题没做出来,可能就挂了,最后面试官说过了,感觉有点勉强,明天二面,保佑!
-