字节跳动(番茄小说)后端实习 一面面经
1.自我介绍
2.登录怎么保证安全
3.sql注入(说了加引号,Mybatis里用#{}来避免,但没答上来根本原因是啥,面试官说根本原因是sql预编译....)
4.说说NIO是什么,为什么快
5.NIO的Buffer到底是啥
6.你提到NIO用到了直接内存,那直接内存在用户态还是内核态
(NIO问了好久,但是我对NIO是真不熟,5和6都没答好,早知道就不写简历上了....)
7.JUC了解哪些类
8.AQS
9.CAS操作和锁哪个效率更高,在任何情况下都是CAS更快吗?
10.并发编程为什么可以提高效率?任何情况下并发都可以提高效率吗?
11.任何情况下都可以用多线程提高效率吗?什么情况下就不适合用多线程了?
12.一个任务是CPU并行,一个任务是IO并行,哪一个任务需要创建的线程更多一些?(???我寻思这怎么比,瞎说了个视情况而定)
13.分析SQL语句
select * from xxx limit 100,100
Select * from xxx limit 100000,100
这两个哪个执行效率高?
有索引的情况下哪个快?
14.jvm了解哪些?
15.栈区内存会有垃圾回收吗?
16.在什么情况下,Java对象不需要垃圾回收也能回收掉?
17.手写单例模式
18.求二叉树所有的左叶子节点之和(Leetcode 404)
19.两个字符串s1,s2,求出s1中包含s2的最短子串(Leetcode 76)
反问:
1.后端技术栈
2.面试结果什么时候出来(需要讨论,到时候会联系)
更新:刚刚收到感谢信了,还是太菜
#实习##面经##字节跳动##Java工程师#