25年春招:字节跳动客户端开发二面总结
base深圳,番茄小说,客户端开发岗,二面,总长1h30min左右。
本人bg:双非,非科班女生,三段实习,分别是小、中、大厂,第一段和第二段都为java开发,第三段为python开发。所以很多面试都重点拷打了大厂实习内容。
1.python相关
1.1.请聊一下Python中深拷贝和浅拷贝的区别
2.java相关
2.1.请聊一下java中深拷贝和浅拷贝的区别
浅拷贝是指创建一个新对象,新对象的属性值与原对象相同,但对于引用类型的属性,新对象和原对象引用的是同一个内存地址。也就是说,浅拷贝只复制对象的基本数据类型和引用类型的引用,而不复制引用类型所指向的对象本身。
深拷贝是指创建一个新对象,新对象的属性值与原对象相同,并且对于引用类型的属性,会递归地复制引用类型所指向的对象本身,即新对象和原对象的引用类型属性指向不同的内存地址。
2.2.HashMap是怎么解决哈希冲突的?
2.3.请阐述HashMap超过初始容量大小时扩容的过程
2.4.聊一下你对Java里面的泛型擦除的理解
2.5.对于泛型类型的数据集,在运行时通过反射调用数据集里存储的对象,能否拿到对象类型?
2.6.聊一下那个Java里面那个软引用跟弱引用的这两个的区别呢
2.7.Java 中的双亲委派模型的特点是什么?优点是什么?
2.8.给了一个synchronized方法相关的代码,问运行是否会出问题
相关知识点
能全答对的不多!synchronized到底锁的是谁?_哔哩哔哩_bilibili
synchronized修饰方法时,如果是非静态方法,锁的是调用者对象。
如果是静态方法,锁的是类本身。
修饰代码块时,锁的是当前传入的对象。
3.数据结构相关
3.1.当哈希表存在哈希冲突时,解决方式有哪些?
3.2.对比普通的哈希表和拉链法的优缺点
3.3.对比再哈希以及拉链两种方式的优缺点
3.4.堆排序的时间复杂度是多少?是怎么算出来的?
3.5.快排的时间复杂度是多少?
4.算法情景题
4.1.如果给定一个链表,怎么判断链表是否有环?
4.2.我现在有100万个数,要求找出最大的前100个。
4.3.用快排找出100万个数中最大的前100个,它的时间复杂度是多少?
5.计算机网络相关
5.1.https,它是能够抓包的吗?
5.2.http和https有什么区别?除了加密更安全,https还有别的优势吗?https除了加密相关方面,安全性还体现在哪里
5.3.https的安全证书是用来干嘛的?如何验证https安全证书的有效性?
6.算法:K个一组翻转链表
力扣原题