面试复盘|百度三面 已意向
百度一面
简单介绍一下我的项目。项目实现了啥,目的是啥。
说说tcp的建立连接过程
说说udp
说说如何保证可靠传输的(就拥塞控制的几种方法)
做题
实现sqrt,没想到二分,后面提醒了二分,恍然大悟。
如何判断一个单链表是否有环
实现创建一个二叉树
问职业规划
面了几家公司。芜湖 我这真不知道怎么说了。实话实话了。
反问
百度二面(1h17)
自我介绍
多久开始参加比赛,就瞎聊
开局先来两个算法题
给一个数组,一个目标值,从数组中找到三个数,这三个数的和最接近目标值;(一开始给的n*n * logn的复杂度 后面通过预处理又给了个n*n + n * logn;在优化就不会了)
给一个字符串,切割这个字符串,切割的每一段都需要是回文串,问有多少种切割方法(后面又需要输出每种切割方法的具体串是什么):给的一个dfs算法,感觉复杂度很高,后面又用数组稍微优化了下;他觉得还有问题,还可以优化,但是说不上哪的问题,就跳过了。正解应该是回文串dp+连图
数据库缓存这些了解怎么样;
讲讲io复用技术是什么,怎么实现的。
异步编程有了解嘛?不了解
tcp的三次握手
tcp三次握手中的客户机和服务器经历了哪几个状态
在Linux上如果想看一下有哪些网络连接,用什么命令查看?
看什么进程? ps
看内存状态、磁盘多大的命令?都不晓得
tcp四次挥手
tcp四次挥手中的客户机和服务器经历了哪几个状态
tcp是哪一层的协议
讲讲TCP/IP网络结构 OIS网络结构有哪些层
传输层有什么协议
应用层有什么协议
hash的实现方法
hash解决hash冲突的办法,用于链表存起来这个方案,可以怎么改进,:用红黑树链表(不会,他说的);自己讲到用跳表也可以
讲讲跳表的数据结构是啥?为什么用随机数来随机一个层数,有什么讲究呢,高度一般是多少(讲的logn)
跳表用到什么地方呢?redis用的跳表,平时用不到
个人发展和职业规划:就业or考研
icpc和ccpc有啥区别
acm刷了多少题?说没统计过,刷题oj平台比较多
对找工作有什么倾向
最近在学习了解什么东西嘛?mysql
讲讲学了什么mysql,写了些什么东西?
学习到了什么水平了,哪方面会熟悉些?答:索引
讲讲了索引实现?为什么B+树要双向链表,B树是什么,有什么区别?
还有什么其他的比较了解?MVCC、二阶段性提交
ACID是什么?
隔离性有哪几种?可重复读,读提交……
了解他们解决了什么问题嘛?讲了下可重复读的实现和用在备份。其他的都不会了(不过可重复读没讲完,就被打断说 时间差不多了)
反问
百度三面
离谱中,一直在等一个北京的电话约三面;结果8/25突然一个电话,以为是约时间的;
结果开始电话三面;害怕
问了问怎么知道百度招聘的
比赛、
对团队氛围的理想型。
转go和php要多久 说了下15-20天 感觉说长了。