字节教育业务后台开发面经
字节教育业务后台开发
一面 4.14
0、自我介绍+项目介绍
1、Https的过程(详细地说了对称加密和非对称加密,CA,还有随机数生成秘钥的方式);http和tcp的关系;输入URL之后的过程
2、数据库如何实现并发;可重复读是什么;有一段代码,两个session,判断结果是什么(和重复读有关);数据库用什么实现可重复读。
3、面向对象的三大特点;多态性是什么,举例;运行时多态、编译时多态
4、知道什么设计模式?写一个线程安全的单例模式。
5、线程和进程
6、打印斐波那契数列
二面 4.17
0、介绍项目
1、Java的Map和Set和List的区别
2、Map有哪些类型,HashMap底层结构,如何实现线程安全。ConcurrentHashMap在一个读一个写的时候会不会加锁呢?HashTable
3、数据库为什么用B+树。联合索引特点
4、Spring知道吗
5、判断二叉搜索树。O(1)空间
6、一致性Hash算法
三面 4.21
0、自我介绍
1、如何在一堆数中找到想要的数,说几种方法。(我问是排好序的呢还是没排好序的。他说都讲讲。排好序的二分,没排好的直接搜索。他又问还有吗?我说,复杂度已经只有O(n)了;他说可能有一百万个数。所以用多线程)
2、项目中最大的挑战
3、一个数据库的查询问题。
4、写快排
HR面 4.23
只能想到上面这些了,可能会有遗漏。技术面大约都是30min的样子,hr面15min。
#字节跳动实习##字节跳动##实习##Java工程师##面经#