龙空技术网

百度(后端)面经

牛客网 250

前言:

此刻你们对“算法 面经”大体比较注重,各位老铁们都想要知道一些“算法 面经”的相关知识。那么小编同时在网摘上网罗了一些有关“算法 面经””的相关文章,希望同学们能喜欢,同学们一起来学习一下吧!

作者:南露若汐
来源:牛客网

一面

1、自我介绍

2、介绍项目(主要负责哪些业务)

3、Jvm主要组成部分及其作用

4、GC的过程

5、一致性hash及其用途和数据倾斜如何解决

6、前序、中序和后序遍历

7、Kafka的ACK机制如何保证数据不丢失

8、Mapreduce如何解决数据倾斜

9、Hashmap和hashtable的区别

10、用加减乘除四种运算求根号二的值,保留小数点后10位。

11、有两张表:student(id,name),score(id,sid,score,course)假设所有学生都参与各科考试,没有任何缺考,查询出所有科目分数都大于80分的学生姓名。

12、有2个大文件分布在两台机器上,每个文件1T,两个文件的diff大小1m,用最小的网络流量交换两个文件。

二面

1、自我介绍

2、主要介绍项目(项目级别,多少人做项目,大文件是如何快速入库的,介绍大数据组件)

3、Hadoop与Spark有何区别

4、Java基本数据类型及其范围

5、GC过程(机制)

6、Hashmap与Hashtable的区别(为何扩容要扩展2n+1,2倍)

7、两个链表找公共节点

8、两个1T文件如何找到公共部分

三面

1、拿过什么offer

2、自己负责的业务

3、项目多少人负责的,怎么分工的

4、遇到难题是什么,怎么解决的

5、连桥(团队合作)怎么沟通的

6、自己的优势(创新点)

7、对比其他实习生自己的优势

8、为何选择经济压力大的上海

9、个人职业规划

四面

1、自我介绍

2、介绍项目

3、项目架构及如何分工的

4、业务代码

public class Job {

public int jobId;

public int status; //任务状态,1代表成功,2代表失败

public int errorCode; //错误码,1-10

public int worker;

}

输入List<Job>,这批任务的成功率,统计这批任务的失败原因的分布情况,统计这批任务,根据worker,哪些worker更好

public class Result {

public double successRate; //成功率

public Set<Integer, double> failDetail; //失败分布

public int bestWorker; //成功率最高的worker是哪个

},public Result function(List<Job>) {}

size=10 ,work1做了2个,work2做了5个,work3做了3个,List<Job>假如size=3

Job1:

status=1;

errorCode = 0; 0代表成功

work=5;

Job2:

status=2;

errorCode = 1;

work=1;

Job3:

status=2;

errorCode = 2;

work=5;

那么我们统计得到,3个任务成功了1个,successRate=1/3

失败分布:

1这个错误,出现1次,2这个错误出现1次,总共2个错误总数,那么分布情况就是

<1,0.5>;<2,0.5>

worker的成功率:

1这个worker执行了1个任务,成功了0个。成功率是0

5这个worker执行了2个任务,成功了1个,成功率是0.5

那么bestWorker=2

5、Mysql、Hive、Hadoop和Hbase的区别及应用场景

6、介绍Kafka

7、mysql除了增删改查,你还用过什么


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

牛客网是全国最大的IT题库,刷真题,练算法,看面经,得内推,全面提升你的技术水平、推荐最好的工作给你!牛客网官网链接:;order=0?from=toutiao

*本文由原作者首发于牛客,非经原作者授权,不得转载。

*与面经原作者交流,请点击下方了解更多。

标签: #算法 面经