前言:Java的基础数据类型有哪些?String是吗?与封装类的区别? Java中的继承和多态是什么意思? 抽象类和接口的区别? JVM内存划分?每个分块的用途? JVM垃圾回收机制? Java中子类的变量初始化的顺序?然后扯了一会类加载器
2019秋招|Java后台面经,百度+贝壳!
我又来贡献面经了
贝壳的题目大多比较基础回忆不起来了,有印象深刻的话会写在里面,主要写写百度的面经
Java的基础数据类型有哪些?String是吗?与封装类的区别?
Java中的继承和多态是什么意思?
抽象类和接口的区别?
JVM内存划分?每个分块的用途?
JVM垃圾回收机制?
Java中子类的变量初始化的顺序?然后扯了一会类加载器
Java中的4种访问权限?
Java中提供的线程池?聊了一下线程池参数
synchronized和lock的区别?扯了一下区别然后扯了一下底层实现
共享锁和排他锁?
手撕了一个顺序查找。。。(这都什么啊。。然后又手撕了一个算法,具体题目忘掉了。。
问了下二分查找的适用范围
(贝壳)手撕快排,多种排序的复杂度比较
线程的几种状态?
问了部分和一面相同的题,一样的就不写了
CMS收集器的回收过程
MySQL索引的实现?引擎的区别?写了两个SQL语句
Redis单线程吗?为什么这么设计?
Redis的事务怎么处理的?怎么保证事务之间互不影响?
(贝壳)讲一下Redis中的scan命令
(贝壳+百度)讲一下Redis的哨兵机制
(贝壳)讲到了高可用,讲一下Raft协议?
(震惊,99%的本科生都不知道的协议,真相竟然是?UC:明天来编辑部上班)
还是Redis,Redis怎么做持久化?两种持久化的区别?
Redis的发布和订阅机制?
Java的lock的底层实现?(AQS那一套)
Mybatis怎么使用事务?(不会。。
Spring的事务?@Transaction(然鹅我没用过也不会
Spring两大特性?AOP和IOC
AOP是怎么实现的?两种动态代理的应用场景?
(贝壳+百度)手撕算法,百度第一题忘了。。
严格升序的序列种找两个数的和等于指定值(双指针
数组中每个位置的值等于当前位置的下标在整个数组中出现的次数,求任意n位的整个数组
比如n=7,(0,1,2,3,4,5,6)->(4,2,1,0,1,0,0,0)
0出现了4次,1出现了2次,2出现了1次,4出现了1次,得到数组
(没写出来。。)
给出一个数组,求数组中每一位右边离当前位置最近的比当前位置上的数大的数,要求O(N)复杂度(单调栈)
给出一个二维数组,只有0和1,要求把1所在的行和列都置为1,要求空间复杂度为 O(1)(理扣原题)
给两个鸡蛋,有一栋无限高的楼,要求给出一种思路,使得可以知道鸡蛋最低在几层落下会碎,且试验次数最少(最坑爹的是面试官说不能假设楼高度是N?这什么操作?算法导论原题(然而我不记得了))
贝壳只有两面技术面
面试官看了看我的简历
“Spark还有Ruby啊,会的挺多,既然你啥都会点咱们就不局限于Java了”
(吐血
聊了聊美团实习的项目,聊到了Spark,然后说到了Spark相对于MapReduce的改进,然后
“Spark熟吗”
“不是很熟,只是单纯的会用API”(企图糊弄过去)
“那你这个需求怎么做的”
“blablabla”
“那咱们就从MapReduce开始改进出一个Spark的架构吧”
(吐血*2
因为是架构设计,基本上是三面面试官在带着我做设计
问题归纳:
Spark相对于MR的改进具体是什么?
整个集群中的机器有哪些角色?怎么分配任务?怎么保证负载均衡?怎么保证任务执行完成?任务执行失败怎么处理?怎么保证任务处理的高性能?
怎么在整个集群的文件系统上执行一条SQL?针对SQL的函数分场景怎么设计成分布式运行的?(感觉有点像HiveSQL,但实际上我基本忘了。。
“RPC和HTTP的区别?”
blablabla
“那多个RPC请求进来,服务器怎么处理并发呢?”
“开线程呗”(糊弄中
中间略过5分钟
“那咱们来设计一个线程池吧”
(吐血*3
给的大条件是操作系统只提供了创建线程和线程的Join操作,线程跑完任务会自动销毁。
先设计一个线程数固定的线程池
问题归纳:
怎么保证任务被单个线程占用了?任务怎么派发下去?怎么保证空闲的线程可以一直拿到任务?
用什么方法可以把这个线程池停下来?
扩展成不限数量的线程池怎么处理?
其实体感上来说,百度三面我觉得是面试体验最好的,面试官思路很清晰,考察的非常灵活,对于设计中的可行处和漏洞都可以立马指出来,能感觉到是一个非常有经验的架构师,交流过程受益良多。
总之就是这样了。(啥?你要题目答案?详询百度)
然后第二天早上收到了美团的薪资call,给我开了一个我没法拒绝的条件(滑稽
秋招结束了!
文章出自:http://qh.itpxw.cn/jyzn/201843999.html
文章标题:快速入职java岗位 来听听职场面经吧
免责声明:本站文章均由入驻起航学习网的会员所发或者网络转载,所述观点仅代表作者本人,不代表起航学习网立场。如有侵权或者其他问题,请联系举报,必删。侵权投诉
IT培训网 访问该机构站点 报名留言 加为好友 用户等级:注册会员
用户级别:10
机构名称:IT培训网
联 系 人:罗老师
联系电话:13783581536
联系手机:13783581536
在线客服:
在 线 QQ:
电子邮件:
网站域名:http://www.itpxw.cn
注册时间:2016-07-18 11:07
最后登录:2021-09-13 16:09
99%的同学,混了几年,连作为一名合格测试的基本功都丢了:...
软件开发测试的出路到底在哪?现在参加软件开发测试培训班还...
近年来,由于IT行业的人才稀缺,越来越多人转向了IT相关职业...
目前的国内市场,很多软件企业都存在着重开发、轻测试的现象...