感觉一面的问题比较具体,二面的问题大多得看自身经历如何应对
蓝岣
01
OceanBase一面
1、参加了那么多比赛,印象最深的比赛是什么?
第一次蓝桥杯【垃圾学校没有ACM,只能去蓝桥凑凑热闹】,因此算法竞赛改变了我对程序的认知、设计思路,时间复杂度,空间局限性等,对编程观念发生了很大的改变,想到啥说啥,大概这样。
2、TCP/IP相关,问了四次挥手TIME_WAIT和CLOSE_WAIT状态分别出现在哪,执行什么功能
额,按照学过的、背过的,说个大概差不多,能把大概说出来就行
3、项目遇到问题时,该如何解决?
答:根据报错定位具体地方,凭报错信息,经验、网上热心网友前人经验,可能主要考察对问题的解决能力、是否会过度依赖他人等。
4、JAVA中进程和线程的概念,多线程、多进程的概念
按照操作系统的思路讲了进程和线程,然后举例了多进程的例子【电脑同时运行QQ和网易云音乐不冲突】,多线程例子【多个线程访问同一变量】
5、JAVA中如何实现并发?
说了常用的几种锁,重入锁,原子类、读写锁分离、分段锁,想到啥扯啥。
6、讲一下线程池,常见线程池有哪几种?
有4种,具体看别的文章详细地介绍吧。
7、cache线程池和fixed线程池有什么区别,你认为他们的应用场景是什么?
没用过。。硬扯,好像自己说的还蛮有道理的。。。
8、项目中有没有涉及到并发?并发带来什么问题?
没设置并发的话可能导致服务器崩溃,设置并发可能数据写入会出现大问题,脏读等一系列问题,但是只写过demo,没用在项目上,这点如实说了,面试官也没说什么
9、数据库索引用什么实现?
我用的Mysql,因此说了B+树和哈希索引,说了索引用在的一些地方,哈希索引用在堆内存的表比较多,B+数用在硬盘的表比较多,然后再随便扯一下
10、接上条,为什么用的是B+树不是B树不是红黑树?
因为访问硬盘数据,是需要涉及大量IO操作的,耗费时间肯定是远高于内存的,B+树分支多,层数低,IO次数显然小于红黑树,反正就讲了一堆跟IO次数相关的,然后为什么不用B树,因为B树由于结构问题查找次数不稳定、范围查找不方便【这里就不详细写原因了,很多博客有详细解释】,然后效率问题,还是B+树更优
11、new 一个对象时,从一个.java文件到最终生成该类实例,经历了什么?
编译到class文件,校验、链接、初始化、再到内存结构方法区、堆、如何从堆到方法区中去取出一个对象进行实例化,总之涉及到的都比较细致地讲了一遍【还好我背得多哈哈哈】
12、算法题:买卖股票的最佳时机
因为做过力扣原题哈哈哈,思路一开始就形成了,但是口头阐述思路一开始慌了,没讲清,整理了一遍思绪后讲清,面试官说没啥大问题。
13、闲聊
了解oceanBase这个东西吗,说不太了解,知道大概是做数据库的。。。【我的问题,对这个产品了解的不是很多,尬笑】
14、被反问
其他公司有投递吗,投了什么职位,面试过程怎么样
最近在做什么
平时怎么学习的?刷题?学习技术栈?看书学习还是看网上视频学习?
02
OceanBase二面
1、深挖项目
2、实习经历期间,对数据库和代码有怎样的一些优化?
3、项目运行时,如果内存占用率很高,该如何解决?
4、项目运行时,CPU占用率过高该如何解决?一些隐形的问题该如何发掘?
5、项目运行时,如果发送一些死锁该怎么办?死锁该如何解决、如何去预防线程之间的一个死锁发生?
6、项目运行时,CPU利用率很低该如何解决?
7、对数据结构有一些了解吧,谈谈你对B+树的看法?(主要说了在数据库上的运用)
8、做笔试题,没做出来,居然不是算法题,有点意外,但也发掘大厂考察真的很全面(菜是原罪😭),要写出创建线程的过程并按要求实现打印需求
```
笔试题
请实现N个线程,使之交替打印1-100*N,如两个线程分别为Printer1,Printer2 ... PrinterN,最后输出结果为
Printer1 - 1
Printer2 - 2
...
PrinterN - N
Printer1 - N+1
Printer1 - N+2
...
PrinterN - 2*N
...
Printer1 - 99 * N + 1
Printer2 - 99 * N + 2
...
PrinterN - 100*N
...
感谢蓝岣分享!祝大家早日上岸!
关注学长 offer多多
后台回复【实习交流群】
如“快手校招内推”,获取群二维码





关注学长 offer多多






