我的百度面经(共8次面试)

我的百度面经(共8次面试),第1张

百度智能云 数据库部门

一面:

1 数据库的事务,四个性质说一下,分别有什么用,怎么实现的。一致性没讲好。

2 讲到了redo和undo日志,问我分别有什么用,说redo日志说错了。

3 数据库的隔离性如何保证,使用悲观锁和乐观锁有何区别。MVCC的设计目的是什么,怎么使用版本号判断数据的可见性。

4 问了一道算法,1到N的所有数字,按照字典序打印,怎么做。

说了用数组排序,问复杂度,扯了半天。

怎么优化,按照数字特征顺序打印,问这个东西和什么结构比较像。提示是树,然后说了个多叉树,问我怎么实现,最后其实使用dfs遍历树的每个分支。

5 多线程并发的同步实现,有两个方法,每个方法里有a部分代码和b部分代码,我要让两个线程分别执行两个方法,并且让他们运行完a部分代码再一起向下执行,如何实现。

6 我说了用cyclicbarrier实现,互相等待await。

然后他问我怎么用信号量实现,并且提示可以再用一个线程。

然后我说了个方案。

7 问了项目

8 如何把优化递归的代码

改成尾递归或者循环。

面试官说不是,引导说用栈实现递归。

问我栈中需要压入哪些数据。他说应该是方法参数,返回值,以及返回地址。

二面:

1 自我介绍,项目 10分钟过去

2 服务器如何负载均衡,有哪些算法,哪个比较好,一致性哈希原理,怎么避免DDOS攻击请求打到少数机器。

3 TCP连接中的三次握手和四次挥手,四次挥手的最后一个ack的作用是什么,为什么要time wait,为什么是2msl。

4 数据库的备份和恢复怎么实现的,主从复制怎么做的,什么时候会出现数据不一致,如何解决。

5 今天面试太多了,记不清了。。。

6 开源的技术看过用过么,分布式存储的了解么。

7 想做什么方向的开发。

8 Linux查看cpu占用率高的进程

9 查看占用某端口的进程和某进程监听的端口

10 如何查询日志文件中的所有ip,正则表达式

三面(83号更新):

数据库部门真的很严格,问题都挺难的。

1 讲一下项目

2 平时了解什么 *** 作系统 Linux,说一下Linux排查问题常用的命令,ps,top,netstat,free,du等等

3 Linux的内存管理算法,问了一下是不是页面置换算法,他说是。 说了lru和fifo,问我lru有什么缺点,没答上来。

4 Linux的文件系统了解么,讲了一下inode节点,文件和目录的原理。他问我了不了解具体的文件系统ext2,ext3,答不会。。

5 进程通信方式有哪些,问我分别怎么使用,管道有哪些类型,各有什么优缺点。

6 问我服务器硬件了解么。。一脸懵逼,问了我懂不懂Raid,瞎扯了几句就说不懂了。

7 shell了解么,没怎么写过。

8 听说你会Java,说一下JVM内存模型把,有哪些区,分别干什么的

9 说一下gc算法,分代回收说下。

10 设计模式了解么,说了7种,问我分别怎么用,实际应用过吗,稍微扯了一下。

11 MySQL的引擎讲一下,有什么区别,使用场景呢。

12 查询最新的10条数据,想了好一会,order by id desc limit 10

13 MySQL的union all和union有什么区别,我瞎掰了一下,应该不对。

14 MySQL有哪几种join方式,底层原理是什么,答不会,只知道表现形式。

15 Redis了解哪些啊,数据结构和基本原理把。 问我Redis怎么做集群,答了主从哨兵和cluster。 Redis的持久化怎么做,aof和rdb,有什么区别,有什么优缺点。

16 Redis使用哨兵部署会有什么问题,我说需要扩容的话还是得集群部署。

17 分布式系统了解么,说一下Hadoop了解啥。 我说基本组件稍微了解过,简单搭过环境。

18 MapReduce的combiner干啥的,我说是合并结果的,问我啥时候会用到,答不知道。

19 Hadoop分发任务时,有个job失败了,hadoop会怎么处理,我答不知道,猜是会继续执行。。

20 hadoop分发任务,如果有一个节点特别慢拉慢了整体速度怎么办。我猜测是通过yarn分配相同的资源给每个任务,可以避免这种情况,他好像不太满意。

21 hadoop答得很烂。问了我两个10g文件比较,2g内存,重复率很高,筛选出不同的内容。我说拆成十份hash,每份两两比较hash的结果集,貌似他说OK。

22 排序算法了解哪些,巴拉巴拉。

23 用队列计算一个树的高度,我说用层次遍历记录节点高度。

24 一个黑名单集合,数据量很大,快速查询一个值是否在集合里,怎么设计,我说布隆过滤器。

25 还是上一题,说这个黑名单可能需要动态地增删改,如何设计才能避免访问响应太慢。我没思路,瞎扯了一下加硬件,用内存存,都被驳回了。然后他说算了。

26 上一题的黑名单做成分布式,怎么做。说了分片的方案,根据地址的hash值确定分片所在节点。

27 分布式数据库了解么,我不太明白他问的是啥,说不了解,感觉应该是问数据库的分布式方案。

28 有什么想问的,据他所说还有2-3轮面试,惊了。

全程50分钟,可以说是迄今为止难度最大的一个?

百度智能云 账号和消息部门

一面:

1 项目

2 讲一下AOP吧

3 动态和静态有什么区别

4 TCP和IP报文是否会分片,分别在什么情况下会分片。

TCP分包之后是否还会进行ip分片

5 做个题

无限长轨道。两辆车同方向开,车会滴水,怎么让他们相遇。这题简直像脑筋急转弯。

6 写一个斐波那契数列

递归式,要求改进

dp方式,要求优化空间

用三个变量代替数组进行dp,要求改进

我说数学公式,OK。

7 讲一下Linux的内存结构,我说只会JVM的,他让我说一下。

两者的内存如何映射,是什么关系,不会。

8 没了

二面

1 项目讲一下,10多分钟去了。

2 排序算法,复杂度,比较。快排的空间复杂度是logn

3 讲一下OSI七层模型,我说了5层模型,然后他让我再补充一下,问了每层的作用,问了wifi属于哪一层。

4 线程间的同步用什么方式,说了object方法。

问我使用hashmap时重写哪两个方法,为什么要重写,巴拉巴拉,什么场景下重写。

5 平时用过什么数据结构,list用哪些有啥区别。

6 Spring中的ioc和aop。ioc的注解有哪些。

autowired和resource有什么区别,作用域有哪些。

autowired如何配置两个类中的一个吗

7 写一个单例模式,有点忘却了,巴拉巴拉搞出一个双重检测的,中间改了多次。

8 Java会有内存泄漏吗,三个区分别什么情况下会产生内存泄漏

百度智能云

好像是基础研发工程师的岗位

一面

1 项目

2 队列和栈区别

3 两个栈实现队列,两个栈实现最小值栈

4 数据库的事务性质,如何实现这些性质

5 事务隔离级别有哪些,默认是什么级别。

6 已提交读有什么问题,用于什么场景

7 二叉树了解么,平衡二叉树呢,有什么场景会用到呢。

8 僵尸进程和孤儿进程是什么,分别有什么危害。

9 主从复制怎么实现。

10 Redis你用来做什么,为什么不用mq做异步队列

11 分布式文件系统了解么,HDFS讲一下原理

12 Java中一般用什么类型表示价格。

13 Java如何把byte类型转换成字符串

14 Java的string类型为什么是不可变的

15 有什么问题

百度核心搜索

一面:

1 自我介绍

2 docker和k8s了解多少

3 研究生学了哪些课程

4 *** 作系统了解么,讲一下进程和线程

5 死锁和处理方式

6 内存,虚拟内存和页面置换 7 网络了解么,讲一下三次握手和四次挥手

8 数据库了解多少,mysql索引,事务,锁讲了一些

9 Redis呢,讲了一下数据结构,持久化方式,使用场景

10 分布式了解哪些,负载均衡有哪些方式,说了dns,nginx,lvs和硬件,一致性问题怎么解决,说了2pc,3pc,raft和paxos,zab

10 mysql大表数据查询,怎么优化,分表,分库。

11单链表判环 使用快慢指针解决

12 完全二叉树判断:

二面:

1 项目

2 docker和kubenetes的原理和了解程度

3 docker的cgroup了解么

4 kubenetes的架构,扩容是怎么完成的。

5 Java的四种引用

6 Java的线程通信方式

7 Linux的进程通信方式

8 Java的线程池

9 算法 1 - N + 1这些数中取出N个,问剩下的是哪个。。 我说加起来相减,面试官说取巧了,不能这样。 我说比较数组下标,他还是说取巧。

于是我让他提示我一下,他说了排序再找。。额

然后想了两个空间换时间的办法,一个是用hashmap遍历两个数组。一个是合并数组后统计数字出现次数,也是hashmap

10 给定一串数字,找出所有可能的IP地址组合,比如192168111,组合是192168111,192168111。 应该LeetCode的题。之前自己没写完整,现场憋出来了。

这个代码应该没错。面试官看了二十分钟才说ok。 然后我们就这样沉默了20分钟,中间他就说了几句话。

最后面试官说他们部门一共两轮面试。

咱们下期见!答案获取方式:已赞 已评 已关~

原文出处:>

08年起,初试计算机专业课实行全国统考。

请参看:

-------------

复试这10门都要考的,

08年复旦计算机复试笔试回忆题

1离散。这个题目是个老题目了,考了很多年了。

已知G=,且(x, y)(z, w)= (xz, xw+y) 。

求证:1。该G是个群

2。证明H=是其正规子群。

证法很简单。首先证明G是个半群

因为G是个代数系统 而且元素abc=a(bc),所以G是个半群

再找幺元e=(1,0),再求一个(x,y)的逆 证明逆肯定存在

得出G是个群

证明正规子群的时候更简单,找个a和a的逆然后证明aha-1一定属于H 就得出结论了。这个

题目在离散里很典型,希望后来者高度注意。

2原理。这个题目主要就是考你一个加速比的概念,知道加速比到底是怎么回事,这题就

等于送分题。知道3部分的占的总时间的比例分别是:a 02 b 03c05 问是a的加速比到

5倍好 还是c的加速比到2倍好。事实上先设定一个大T总的时间则a加速的话

02/5+03+05=084T 另一个02+03+05/2=075T 显然后面一个好。

3概率。概率分两题 第一个是送分题 就是求一下条件概率,太简单了在这里不解释了。

第二个是3个填空题前两个有难度,一个是求复合函数的概率一个是求联合概率密度,想搞定这两个题目概率基础要扎实才行,第三个送分题。整个概率就是这样,每年都有人把概

率当成必拿分的题,事实上还是有差别的,出到了难题你照样玩完。

4软工。今年的软工出的依然是选择题。是模块之间的耦合度的问答题。问模块间的耦合

是高好还是弱好。(显然弱了好)问一个模块可以直接访问另一个模块的内部数据是什么

耦合(注意是内部数据,显然是内容耦合,是最高度的耦合),问模块间通过公共数据结

构耦合是个什么耦合(显然是公共耦合),问模块间通过一个信号的控制进行耦合是个什

么耦合(个人不确定,回家后在书上没找到这种描述的耦合,不过个人觉得是控制耦合)

。最后问你那个耦合度最高,这显然是内容耦合。个人觉得,送分。

5体系结构。今年的体系结构出的是cache上的东西,一个是直接访问cache的总的平均时

间的求法,一个是串联访问(就是说每次访问完主存还要访问一次cache,个人认为,不然

出这个题目实在没什么意思)。还有就是30%的几率访问数据,这个题目是用求CPI的方法

求平均时间,懂的人见题目就会做了,不懂的话告诉你怎么做你还是不懂。

6数据库。今年的数据库的sql语句超级简单,这里就不多说了。不过最后一问还是有点意

思的,问用什么样的方法建立一个索引最好。个人认为不能用B+树(我卷子上写的就是B+

)因为主码不需要排序,需要排序的是另外的非主码。至于用哪种方法,我就不知道了,

看高手的吧。

7编译。据说是语义制导翻译模式还是什么鸡毛玩意的。老衲没学过,也不懂。看书复习

的时候编译和图形学一块放弃的。

8网络。超级简单的网络题,就是考个香农公式,但是一定要记得分贝这个单位要化一下

才行,具体的大家看看书都知道了。

9图形学。不懂就是不懂,据懂的人说超级简单,可是我就是不懂,就好像我懂网络说香

农公式超级简单一样,别的没看到的还是不懂。农公式超级简单一样,别的没看到的还是不懂。

10算法。动态规划上的东西,老夫依然不懂。随便你怎么说去吧,反正是英文出题。注意

,可以不用英文作答。这里要提醒一下师弟师妹,P问题,NP问题,NPC(NP完全)问题,

NP难问题出了好多年了,你怎么看是你的事情,但是这几个的概念一定要掌握。

好了。总共就10个题目,我在这里就说这么多,我估计做下来应该在50分左右。如果大家

都是这个分数的话那初试不算低的话就估计没问题了。但是要提醒一下DDMM,今年的复试

有个组很变态。

大家被分到三个组里去了,按照成绩蛇形排列。(所谓蛇形排列的意思就是每个组都有高

分低分)第一组的同志们最郁闷,专业面试的时候5个老师一个老师一道题,全都是跟复试

内容相关的问题譬如 NP问题,譬如hub和路由器的区别(不在同一个层?)这个需要大家

平时掌握的知识而不是大家的口才了。另外两个组是拼口才的,看你了。

以上就是关于我的百度面经(共8次面试)全部的内容,包括:我的百度面经(共8次面试)、B+树作为Mysql索引结构的优点、复旦大学计算机考研复试内容等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9707243.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存