b站二面面试凉经
最近面b站,网上b站面经的确较少,之前就搜到了一篇,前两天刚刚二面完,然后也挂了,写一波面经,为将来进b站的同志铺路。
一面
- 三次握手的过程
- 四次挥手的过程,以及为什么要进行四次挥手
HTTPS和HTTP的区别- 进程和线程的区别
- 协程的概念。大概的实现过程
- 虚拟内存是干什么的
go语言里切片和数组的关系- 带有缓冲的
chan和不带缓冲的chan的区别 - 数字证书的认证过程。
- 浏览器输入
url以后,到看到页面的整个过程,详细的说一下。 - 算法题:
leetcood81 题。
二面
- 二分查找算法,用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站##面经##哔哩哔哩#
查看19道真题和解析