光锥元开发岗一面二面(凉)
一面:
-
有接触过别的编程语言吗?Java和c++有什么区别?
-
为什么Java是单继承,多继承有什么不好的地方吗?
-
JVM的类的成员变量放在哪?
-
JVM的内存管理方式,分别说一说JVM的各个部分
-
栈和堆的区别?什么是进程?进程创建需要什么资源?
-
进程和线程的区别?进程的通信方式?(管道通信、共享存储、消息队列)
-
快排原理,平均时间复杂度,空间复杂度O(nlogn),最好时间复杂度,最坏时间复杂度?最坏为什么是O(n^2)?怎么算最坏的时间复杂度?
-
堆排序,建堆过程,为什么是从中间开始比较?
-
TCP几层?说说链路层和物理层有什么不同?网络层的协议说一说?
-
传输层的TCP三层握手?第三次握手的时候客户端的消息丢失了怎么办?此时服务器和客户端有什么措施?
-
TCP和UDP区别?HTTPS的加密怎么搞?HTTP和HTTPS有什么区别?
-
二叉排序树,二叉平衡树特性,二叉平衡树怎么插入、删除的?怎么调整平衡的?
-
如何判断是否是一颗二叉排序树(递归?递归过程中会出现什么问题?)
-
红黑树特性,怎么插入、删除,和二叉平衡树有什么不同?
-
ArraysList、LinkedList区别?hashmap说一说?
-
MySQL的索引底层,聚簇索引和非聚簇索引有什么区别?什么时候用聚簇索引?什么时候用非聚簇索引?
-
多线程的并发一致性问题有哪些,如何解决?
- MVCC怎么实现?(verson) 那串行化怎么实现?(MVCC+next-key-locks)
- 有什么想问的吗?(面试评价?不告诉你,哼哼,有通知会找你的,回去吧)
二面:
1.面向对象三大特性,说说理解
2.同步锁原理,object的wait()和notify()咋回事?用synchronize手写生产者-消费者模式
3.hashmap说说,为什么引入红黑树?ConcurrentHashmap怎么实现读写是线程安全的?
4.线程和进程区别?单核CPU和单线程能跑多线程的程序吗?
计算机网络和操作系统一面问过了是吗?那就不问了,咱们来搞点实际业务场景的吧,我:.......
6.咱们现在用的腾讯会议主要分为数据收集和数据传输两个部分,那么数据收集部分会出现哪些问题?
7.直播平台一个主播有上千个人观看,如何让每个人看到流畅清晰的视频,主要从图像的方面考虑
8.设计算法:二维平面的多个点的坐标给定,如何找出最多能有几个点共线?有可能有2个点共线,3个点共线,找出最多能有几个点共线?
9.假设我的电脑的内存大小是800M,腾讯会议运行需要800M的内存,word文档运行需要800M的内存,请问能否同时运行这两个应用?(word是用来记录你的表现的)