OCI 面经

3年经验,一般应该是4轮+吃饭
我是总共5轮,4轮coding1轮system design
第1轮:(1)merge two sorted list, do it in place; (2) in place去除重复的char,后面补0; (3) given a function random(), which will return true or false at random. Implement randomInt() which calls random() internally.
第2轮:given a list of chars, find all the possible words that are in the given dictionary. analyze time complexity and space complexity
第3轮:气令儿 given an array of sorted distinct integers while we can’t get its size, find the index of the target number and return its index, if not found, return -1
第4轮:system design, rate limiter
第5轮:伞刘儿 calculate the number of click times in the last x minutes. implement click(delta), get_clicks(x_minutes). Follow up: if we keep adding more clicks, memory usage will go up. How do we deal with this? (We can delete clicks that happen 1 day ago)

问的bq:
1、为什么选oracle
2、介绍你自己
3、最自豪的一件technical的事
4、跟同事发生冲突怎么办
5、talk about a thing that takes a long time to do, and you need to divide it up into several small steps
6、讲一下你之前犯过的一个错误,以及你如何解决的(是你发现的bug还是别人发现的,为什么刚开始没有发现,在修bug之前要是否考虑了该bug的cost)