字节一二面面经,等待三面
字节一面:4.13 16:30-17:15
#字节跳动实习##实习##面经#
- 自我介绍+介绍项目,本来准备了一个简单的ppt,但是共享屏幕不成功,说的很模糊。跟面试官解释好久才理解我
- redis cluster哈希方式?我先说了dict的实现,balabala,他说不是分什么slot吗?我说16384个slot,紧接着是为什么?嘿嘿一笑,没看过为什么,他说你对这个数量倒是记得很清楚。
- redis zset实现
- 一致性哈希
- 虚拟内存(答得不是很好) 虚拟内存分区
- 用户态 内核态
- 如何进入内核态?有哪些中断?我只说了一个IO中断,然后脑子里飘出来一个时钟中断?追问什么是时钟中断,我说只是突然有印象,但是是什么记不清了
- 进程地址空间
- fork了解吗?不了解,几天前看过,忘了。。
- hashmap 讲一下, java7 java8
- 扩容怎么实现的?我说没有到最大值是翻倍,到了最大值直接赋最大值,问最大值是多少?蒙了一个Integer.MAX_VALUE,又说不确定。为什么要2^n?
- 单例模式,先写了一个懒汉线程安全的,又写了双重校验锁模式的。为什么用volatile?说了一下volatile不能保证原子性,没背出来,面试官跟我相视一笑,背不出来了?有什么作用?怎么实现禁止指令重排序(背的磕磕巴巴,面完看了一下背成可见性的实现方式了)
- 算法题:
面试官说上一个同学没理解题意,你来做一下。看了一下说大概理解了,最大体积应该比较好做,面试官说那你先写一个最大体积吧,写完后讲了一下,我问还要写最小的吗,他说有思路吗,我说还得再看看,那你下去再想想,就先别写了,等一下我看二面面试官有没有时间。过了一会hr打来电话约了一下二面时间。
- 没有反问环节就结束了。。。
- 算法题最小体积有人解答一波吗?
二面 4.15 20:00-20:45
前4个问题主要是跟项目相关。
- 自我介绍+项目介绍
- 介绍一下主流redis分布式架构:类codis,proxy+redis cluster,讲一下codis架构
- 项目细节
- redis事务命令有哪些?watch命令redis是如何实现的(只记得redis保存了一个key的队列)
- redis几种数据结构
- zset只有跳表+dict吗?元素个数少于128个,且每个元素小于64B时,采用ziplist
- rdb aof区别 默认是哪个
- save bgsave区别
- 已知高考分数求排名,桶排序
- go语言相关,slice讲一下(记不清了。。。讲不出来) map是并发安全的吗?蒙了一个安全,追问两个goroutine怎么修改同一个map(如实回答,不清楚了)
- TCP UDP
- 听说过quic吗?这个是真的不知道
- 拥塞控制
- 算法1:带精度的开平方(忘了怎么写了,二分法写了个大概。。)
- 算法2:股票一次买卖求最大利润(初值没处理,差点翻车,可能没写出来就凉凉了。。)
- 什么时候可以来实习?可以实习多长时间?(让我有一种下一步就拿offer了的错觉)
- 反问:什么部门?技术栈?