百度Go提前批一二面经
本人主攻go语言开发,面试部门是b2b业务部,按面试官的说法是爱采购网站,二面寄了。
一面
1h
自我介绍
项目:项目的作用,在项目中主要负责了什么工作
1 Go中map是并发安全的吗,想要并发时使用map怎么办?
2 sync.Map的底层结构了解吗
3 channel底层结构了解吗
4 go的栈溢出到堆空间的情况有哪些
5 go的panic是什么?怎么捕获处理panic?
6 一个协程中发生了panic,对其他协程有什么影响?其他协程能够捕获panic吗?
7 介绍一下GMP模型
8 MySQL的索引优化方式有哪些?
9 怎样的查询能名字MySQL的组合索引?
10 介绍一下Redis的zset的底层实现方式
11 Redis是单线程吗?
12 Go语言怎么实现单例模式?
13 HTTPS的加密流程
手撕:
1 一个数组中只有一个数出现一次,其他数均出现两次,求该数
2 一个字符串有小写字母组成,去除字符串中的重复字母,让每个字母只出现一次。需要保证返回结果的字典序最小。
反问:
对Go语言使用是偏向业务开发,还是云原生开发?
总结:对go底层结构了解不多,面试官建议打牢Go、MySQL、Redis基础。手撕第二道没写出来。
二面
1h
提问:
1 自我介绍
2 项目:项目介绍(背景、目的、应用场景、组件设计思路)、项目改进(考虑高并发时的修改及设计)。
3 介绍一下tcp的三次握手
4 如果客户端发送了两次SYN包,会建立几个tcp连接
5 HTTP的method有哪些
6 GET和POST的区别
7 HTTP的状态码有哪几种,是什么含义,列举几个你熟悉的状态码
8 通过网址访问百度,描述一下整个过程。
9 访问页面时,和服务器是一次交互,还是多次交互?
10 为什么Redis要比MySQL要快?
11 Redis处理客户端连接、指令执行的流程
12 MySQL优化方法有哪些?
13 MySQL是索引建立越多越好吗?
14 介绍一下MySQL索引匹配的最左原则
15 思考题 有无限多的水,一个5L的容器,一个6L的容器,如何得到3L的水
手撕题目:给定数列 1 1 1 3 5 9,从第四项开始都是前三项的和,求第20200313项的低4位。
反问:
b2b业务部主要做什么?后续还可能有几面?
总结:二面项目拷打部分有近20分钟,面对问题有点懵,后面知识提问答得不好。
#百度求职进展汇总##第一次面试#