oppo一面面经
oppo一面(42min)
1、简单说一下项目,基于什么样的背景,使用了什么技术
2、生成订单如何保证的唯一性
3、从redis中取出一个数,然后redis宕机了,数据没有保存起来,导致的取数据的重复怎么处理,比如从redis取一个数为1000,做增一为1001,这个时候宕机了,还是1000,怎么处理。
4、一万人下单,处理高并发场景
5、任务队列如果挂了怎么办,说把为保存的任务实时保存到磁盘中,问只是保存在磁盘吗?
6、了解消息队列吗?
7、redis用到了什么数据结构,hash的底层实现,怎么做的rehash
8、自己设计哈希表,怎么做无损的rehash
9、扩容的时候,表中有一百万个元素,现在插入一条数据触发扩容,怎么扩容
回答:没有整体扩容的必要,再增加一个单独存储的变量去存储新的数据,数据还是插入到旧表中,单独的变量会有指向新增数据的指针
问那么查数据的怎么查key呢
10、如果插入的元素很多呢?
回答:扩容hash表或者是增加一个新的hash表
11、访问网站会使用到什么协议,底层发生什么,DNS是怎么解析的
12、TCP连接建立的流程,为什么要使用随机的序列号,说的安全问题,问什么安全问题
13、tcp建立连接的时候报文中会携带哪些信息,我说tcp的头部信息,问你知道的有哪些呢,不记得了
14、udp用在什么场景
15、一个字符串之间没有点,怎样将他转化为ip地址,要求获取所有的转化可能
16、数据结构学过哪些
17、判断链表是否有环
18、一个超大文件,文件中有乱序的数字,怎么找出出现频率前5的数字
19、问什么课程学的好,咋学的
#OPPO##校招##Java工程师##面经#