注册一亩三分地论坛,查看更多干货!
您需要 登录 才可以下载或查看附件。没有帐号?注册账号 
x
甲骨文db组面经整理
十多年O家工作经验的烙印大老板面试。
聊了聊简历然后做题,遍历n叉树求根节点到叶子节点最短距离,返回距离和对应的子节点。
一直think load试图和烙印交流。题不难也做出来了,中途有小bug但是都修好了。今天收到拒信。
DB: 先介绍了DB的六个核心组,要我选有兴趣的。接着深扒了简历,问一些tech问题:
很多台DB server, 怎么确保其中一台挂了,里边的东西不会消失? 有多台server做replication
怎么知道刚刚消失的data在replication的哪边? 用多个pointer指每个server目前data的位址
很多人要读,偶尔写,要怎么保护? Reader-writer lock
如果一直不能轮到write怎么处理? 设一个duration,超过没轮到write,就禁止上读锁
cache用什么机制? lru, lfu
如果是做影音串流,cache用lru还是lfu好? lfu
lfu怎么做?
Database Server and System:
implement一个spin lock,
spin lock自旋锁:表示线程忙的锁。
然后又要写如何实现wait和notify,
然后还问了如何实现mutex。反正是各种lock的问题。
感觉挺难
之前一直没给codepad链接,我以为就是聊天和问答题, 没想到昨天给我发了一个链接,
今天上来直接进链接里做题,很简单, 在bst里搜索满足值在某个范围的数,bfs dfs都可以做,直接dfs秒了,还给他run,
直接问我如果数据集无限大会出现是么情况,我说dfs的话会造成stack overflow,调用很多次函数,他表示同意,然后问我那该怎么做,怎么优化。
这里我就想不出来了,在无限大的树里面搜,怎么优化,我简单的程序找bug, 用mutex实现读写锁
corporate组 介绍组,聊得非常好. 一道原创题 + meeting room I 和 II.
第一轮:
DB CLOUD exa-data, director
问简历,详细讲解项目
check 一个binary tree是否symmetrical, lc原题
两个process,produce和consume,生产消费者同步代码
第五轮:
db-exadata 国人小哥
简历介绍,项目介绍,然后各种知识点考察
thread-safe lru,virtual memory, cache, page table, tlb,基本上大部分和os存储相关,最后提了一个扩展问题,不太记得了。
第六轮:
db-exadata 国人小哥
同样 简历介绍,项目介绍,然后各种知识点考察
不会:然后给了3道他自己设计的算法题,不难,但是需要你的思考,现在有点记不起来了,但是比较底层,偏c语言的编程模式一点。
不会:一个印度老哥面的,没啥口音,implement stack using queue
|