老虎一面
老虎一面 50min
-
讲一讲你熟悉的一个集合类(HashMap,讲了 HashMap 的实现原理,以及HashMap对hash桶定位的优化、HashMap链表转红黑树、二叉树、平衡树、线程安全的 HashMap)
-
ConcurrentHashMap实现原理,什么是 CAS,哪里用了 CAS ,哪里用了 symchronized,synchronized的实现原理、锁升级的过程
-
MySQL 索引(讲了B+树、聚簇索引、非聚簇索引、回表、覆盖索引)
-
MySQL事务(什么是事务、ACID是什么,四个隔离级别以及对应会出现的问题)
-
不可重复读与幻读区别(讲了幻读为什么会出现,两者区别)
以上30min分钟左右,然后就是写算法题
-
二叉树将每一层的节点串起来(用了层序遍历。。。在面试官提示下勉强完成)
-
假设你是一个交易员,职责是买卖股票为你的组织带来盈利。你每天只有一次操作的机会(买入或卖出),并且在买入之前不能卖出。
现在给定一个数组,代表某只股票每天的价格,问在只有一次买卖机会的前提下(允许买入以及卖出一次),一共有多少种盈利的方案?
(笔试的第一题,当时笔试的时候写的比较乱,写出了奇怪的解法,没做出来)
(在面试官提醒下是逆序对、归并排序,奈何太菜,不会)
(面试官问我有什么想问的吗,我笑嘻嘻地问这题 Leetcode 哪道,面试官也笑嘻嘻说反正没有原题,我也笑嘻嘻说那没什么问题了)
(面完找了以下这道题:剑指 Offer 51. 数组中的逆序对