b站二面面试凉经
最近面b站,网上b站面经的确较少,之前就搜到了一篇,前两天刚刚二面完,然后也挂了,写一波面经,为将来进b站的同志铺路。
一面
- 三次握手的过程
- 四次挥手的过程,以及为什么要进行四次挥手
HTTPS
和HTTP
的区别- 进程和线程的区别
- 协程的概念。大概的实现过程
- 虚拟内存是干什么的
go
语言里切片和数组的关系- 带有缓冲的
chan
和不带缓冲的chan
的区别 - 数字证书的认证过程。
- 浏览器输入
url
以后,到看到页面的整个过程,详细的说一下。 - 算法题:
leetcood
81 题。
二面
- 二分查找算法,用go写出来,在一个递增数组中,比如[0, 1, 5, 8 ,100 ,150 ]中,查找是否有值为
8
的数,如果有,返回坐标值,没有返回-1
我写的代码如下
func main() { a:=[]int{ 0, 1, 5, 8 ,100 ,150} target:=8 i,j:=0,len(a)-1 for i<=j{ mid:=(i+j)/2 if a[mid]==target{ fmt.Println(mid) return } if a[mid]>target{ j=mid-1 }else{ i=mid+1 } } fmt.Println(-1) }
然后面试官说上面这个代码还有优化的地方,用的if判断太多。
- go的ini函数,在编译的时候,是先执行导入的package包中的
init
函数还是 本包中的init
函数。 - go 语言的
main
函数可以带参数吗? dockerfile
文件怎么写?- 如何在
docker
中运行一个程序? - 平时
docker
都是怎么用? linux
如何查看一个文件的大小?linux
如何查看一个现在的网速?linux
如何查看某个端口是否被占用?
总体感觉
一面的时候还好,问的都是基础知识,二面的时候,问的问题感觉都比较的偏,二面的问题,回答上来的也就一半左右,面试官人都不错,态度都很好,就是感觉可能他们太大佬了,他们以为是非常基础的问题,殊不知一下子就能把我问死。哈哈
#b站##面经##哔哩哔哩#