前言:
此刻你们对“算法 面经”大体比较注重,各位老铁们都想要知道一些“算法 面经”的相关知识。那么小编同时在网摘上网罗了一些有关“算法 面经””的相关文章,希望同学们能喜欢,同学们一起来学习一下吧!作者:南露若汐
来源:牛客网
一面
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
*本文由原作者首发于牛客,非经原作者授权,不得转载。
*与面经原作者交流,请点击下方了解更多。
标签: #算法 面经