一共大约面了45分钟左右,根据回忆开始写都面了什么
面试官和和蔼??如果想不出来的话,会一点一点的给你提供思路==
1、实习和项目经历(较详细) 遇到了什么问题,怎么解决的
2、用了什么数据库(MySQL、Hive) 读写数据量大不大 用了什么引擎?(InnoDB) MyISAM引擎用过没有?有什么区别? MyISAM具体用的用途是什么(我没答上来)
3、数据库相关隔离级别介绍下。什么脏读、可重复读、幻读等等(建议从网上找一个具体的例子看看,面试官问了具体的会话,见4)你现在用的是什么隔离级别
4、两个事务A、B,A是未提交,A读了一个数据,B对数据进行写,A再次读读的是什么数据?
5、我专业不是计算机专业的,问了下和计算机专业的关系,都学了写什么相关的理论。
6、排序相关算法,时间复杂度都是怎么样的。
7、对于单链表来说,比较好的排序是什么?(因为链表没办法找到前几个节点,所以适合数据的算法不适合链表) 随便问了下堆排序的大体算法。
8、队列和栈。两个栈怎么实现队列?入队列出队列都是O(1),但是我说的方法出队列应该是O(n),能否实现O(1)?【可能每一步不都是O(1),平均下来可能是O(1),出队列后再入队列不用把副栈倒回来,直接插入到主栈,这样直到副栈出完后才能回再出现一次O(2)】
9、一群数字如何去重?【Set】如果不用Set?或者Set的原理是什么【用HashSet,HashSet的原理】还有其他方法?可能会出现冲突【分片,然后排序】
10、给栈加个辅助功能,实现得到栈此时的最小元素【加一个最小栈,每次入栈时判断最小栈顶元素和入栈大小,把小的插入到最小栈中】
11、Java并发 内存管理 并发?什么场景遇到过?怎么解决?
12、OOM什么时候遇到过?OOM时程序有什么表现?进程消掉了还是线程死掉了?
保佑三面==