【名企面试经验-百度-校招提前批】【研发工程师】

Offer
一面(1.8H):
1、自我介绍
2、进程与线程的区别
3、说说线程池,线程池的线程数量是固定的吗?有哪些参数?
4、说说JVM是怎么分区的
5、垃圾回收主要是对哪些区进行回收
6、说说垃圾回收有哪些算法
7、说说老年代采用的那种垃圾回收算法
8、说说是如何找到垃圾的
9、HDFS写文件是怎样一个流程,假设现在我要写的文件只有1kb,那是新增一个块,还是如何?
10、在HDFS写文件的时候假设需要写的节点是ABC,是怎样一个写的过程?在这个过程中B如果突然down掉,HDFS是如何解决这个问题的?
11、HDFS访问文件是怎样一个流程?(先通过NameNode去查找元数据,看看要访问的文件是在哪些DataNode上,然后返回对应DataNode的地址,然后客户端再根据地址去查)
12、Zookeeper的机制,脑裂,Zookeeper完全解决脑裂的问题了么?如果HDFS两个服务器去竞争主节点有没有可能发生脑裂的现象?
13、通过Zookeeper竞选主从节点的时候,创建的是什么节点?如果主节点down掉,其他节点是如何知道的?
14、写一个二叉树的最短叶子节点高度 限时10分钟
15、了解哪些页面置换算法?给你一个get(key),set(key) 写一个简单的LRU算法。(我开始用了两个栈,面试官看了说你再优化一下,我把两个栈替换成链表,面试官说差不多就是这样实现的)。
16、说收项目,OLAP是什么?预处理吗?
17、使用Zookeeper对Hbase进行集群管理,我可以理解为对Zookeeper做了配置吗?
18、说说你在项目中是怎样处理数据集的?都有哪些字段?
19、说一下四次挥手都发了哪些包?说一下每种状态,为什么最后一次还需要time_wait状态?

二面(2H):
1、自我介绍
2、Openstack中对哪些组件比较熟
3、了解Nova组件内部的结构吗?
4、说说nova在创建kvm虚拟机的整个流程
5、Nova-scheduler在进行weight的时候,为什么要默认按内存打分而不是以vcpu的个数作为权重
6、为什么overcommit可以实现,如果虚拟机overcommit内存不够的话怎么办?
7、为什么之前操作数据库可以通过计算节点的nova-compute上直接操作,为什么现在要用nova-conductor去操作?回答:这样做降低被攻击的危险,以及组件之间解耦合和在大量数据库操作产生的时候可以通过增加nova-conductor数量。又追问:为什么nova-compute直接操作数据库被攻击的危险性比较大呢?
8、你对虚拟化网络很了解对吧?那你说说linux-bridge如何支持Vxlan的
9、说说VETP是怎么知道别人发给自己的数据包是它自己该接收的?
10、vxlan的标签是打在udp包里的吗?是什么时候打的?是数据库从kvm虚拟机出来的时候还是数据包到linux-beidge上的时候,还是到虚拟路由器上的时候?还是从物理机网卡出去的时候……
11、为什么要有Vxlan?回答了Vxlan相对于vlan的好处。又问:如果当前场景这些好处都没有,那是不是不需要Vxlan了…….
12、说说java线程池吧,整个流程是怎么样的?回答完之后,又追问:为什么要有线程池,解决了什么问题。回答完之后,又追问:为什么线程池有默认大小?这个大小是从哪里来的?可以不要这个参数不?为什么?你知道C++线程池不…..
13、我们做道题吧:三个线程ABC,A线程打印A,B线程打印B、C线程打印C,顺序不能乱,打印出来的顺序必须是ABCABCABC….. ABC三个线程总共打印100次。 我用了一个变量控制打印次数,用了信号量保证了ABC的顺序,代码写完后,面试官说:请证明你这个代码的正确性… 回答:可以举例子证明吗? 面试官:不可以。
14、说说线程之间通信有哪些方式?回答完,又追问,那你在Java中用了哪些方式呢?我说java里面就用过syc,Lock还有JUC下的一些工具类。
15、知道读写锁吗?如果有10个读线程,这个时候来了一个写线程,如果处理?
16、为什么有了syc还要有Lock?区别是什么?我回答了Lock的一个实现类Reentrantlock是通过CAS自旋来实现锁的(这个地方我答得不好,因为对Reentrantlock不熟)
17、说说虚拟机是如何发送和接受数据包的,要经过哪些设备?回答到一半,面试官追问:端口不用改吗?如果这个时候宿主机中两台虚拟机,用的一个端口比如说80,不会发生串包吗?
18、再做一道题吧:两个你可以认为是无限长的数字,求和,其实就是大数求和。

三面(1H):
1、自我介绍
2、对Openstack了解到什么程度?说一下Nova内部组件
3、你觉得Nova-filer的weight除了通过内存以外,还有哪些东西可以拿来filter?答:vCpu、磁盘大小等。如果用磁盘大小去做Filter,如何解决碎片问题?因为可能一个文件4GB,每天机器都不够,但是总的磁盘空间够?答:用HDFS分布式存储,这样不用把一个文件存储在某一台节点上。如果就让你存,不用HDFS该怎样去调度?答:可以采用操作系统中对内存管理的那样,最佳适用法,将所有服务器上的剩余磁盘空间排序,分配文件的时候去寻找刚好能存下这个文件的机器。问:这样是解决了内存碎片问题,那会带来其他什么问题吗?答:不知道…… 解释:会出现文件只分配在少数几台服务器上,这样的话造成了集群内部分机器直接空闲。
4、JVM垃圾回收算法了解吗?JVM为什么要分为新生代和老年代?新生代是怎么清理垃圾的?如果这个时候HBase的某个服务调动失败了,你觉得会是什么原因造成的?答:我觉得是发生了Major GC 造成stop the world,运行的服务被暂停了。问:那如何调优呢?答:可以采用CMG垃圾回收器,他一共分为四个阶段的垃圾回收,只会有两个步骤发生stop the world,其他清理过程和java运行程序是同时进行的。问:那不用CMG,具体调优接触过吗?
5、做一道算法题:给一个字符串,去掉字符串内的数字,要求直接在字符串上做。我问:Java 的String是final类型的不可能直接在字符串上做。面试官:那你用char[]这种基本类型做。做了一个时间复杂度n平方的,问怎么改进,说了改进方法后,改进后达到了O(n),面试官也没再让我把这个代码手写出来了。
6、最近看过什么书没有?

现在是2018年9月,我现在在电子科技大学刚刚研三,由于学的东西比较杂,Java后端,大数据,云计算都有涉猎,所以找的工作职位也有所不同,校招提前批拿了还算不少也不错的Offer,下面是一些相关的面试经验,希望能对大家有一些帮助:
19届校招:
【名企面试经验-百度-校招提前批】【研发工程师】
【名企面试经验-新浪-校招提前批】【数据平台研发工程师】
【名企面试经验-阿里-校招提前批】【Java后端工程师】
【名企面试经验-网易游戏-校招提前批】【SDK游戏服务端研发工程师】
【名企面试经验-小米-校招提前批】【Java研发工程师】
【名企面试经验-360-校招提前批】【大数据研发工程师】
【名企面试经验-顺丰-校招提前批】【Java后端研发工程师】
【名企面试经验-快手-校招提前批】【Java研发工程师】
19届实习:
【名企面试经验-京东-实习】【后台开发工程师】
【名企面试经验-新浪微博-实习】【Feed研发工程师】
【名企面试经验-滴滴-实习】【Java后端】

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值