某东,某度,某团,某大厂Java开发岗面经

首先要说一下,LZ0offer菜鸡一枚,Java开发岗,非大佬。秋招以来就面过题上4家,特此总结一篇,供各位战友参考。

另外忠告19届的老弟老妹们,现在可以开始准备春招(暑期实习)和明年秋招了。经验真的很重要。

目前看来每家都要先自我介绍,自动省略,悉知。
【某东】
由于经济原因,去不了北京,给campus@jd.com发了邮件,转到了电话面。
面试官非常nice,前一天下午5点打电话约了电面,预留了准备时间。
一面:
自我介绍,说自己的项目。整个项目是做什么的,自己做了哪些工作。
发挥比较好,说的过程逻辑清晰,讲了20分钟,小哥就说可以了,给过。
二面:
好像必须现场面。没有钱我能怎么办?
【卒】

【某大厂】
一面:
讲项目,有个地方问我角度怎么求,答曰反三角函数。面试官表示这是小学生就会的题(???),于是怼了我两个工程问题:
①n个点,求点的中心。(思路跟面试官不在一个点上,被怼成不如初中生)
②也没答上,就不说了,被怼到小学生都不如。
问基础:
①写了个sql语句(就是个A,B表连接...)
②C和Java哪个熟?答:java
问:一个类有一个virtual函数,一个int型成员,sizeof返回多少?
答:这不是C  吗?
回:两个都差不多。
答:8,4 4(虚表)。
③重写、重载是怎么弄的?答:重写动态绑定,重载静态绑定。
问完了,你有什么要问我的?
答:?????
面试官:回去等消息吧,两周之内HR会联系你。
我:...怎么这么久?
面试官:我们是大厂,人多。
溜了溜了。
【卒】

【某度】
一面:
①翻转链表。先用空间复杂度O(N)的解了,面试官表示不可以,要O(1)。菜鸡刷题少,没写出来。
②求TopK。由于第一题没答上,第二题想用最优解,快排的思路,但是选择的key要筛中位数。(选第一个随机性太大,最坏情况复杂度高)。
答:5个数一组,分别求中位数。得到的一组中位数再求中位数,用这个值来做key,一趟快排。
看结果,key的位置<k在右边找,递归。
问:中位数怎么求?
答:排序。
问:复杂度多少?
答:能到O(N)。
问:为什么?
答:。。。当时傻了,突然认为此算法要排序,复杂度有O(NlogN)。后来猛然想起shell排序也是这么操作的。。
最后面试官引导用第一个数做key。我嫌此法稳定性不好,最后只好用堆解了。。
问:手写一趟快排。
答:写写写。。。
③求任意二叉树第k层结点个数。
第一反应用队列解,让我讲思路,因为没做过,说得不太清楚。面试官怕我写不出来,问我考不考虑递归写。
答:不。最后队列写出来了。
然后开始聊基础,
①Socket,http,TCP,UDP,长连接等网络基础,问得不深。
②Mybatis和Hibernate的区别(简历上写了)。
答:M轻量级,一般是xml配置文件来做的,更底层一些,sql语句是原生的。H功能强大,主流是用注解方式,有hql,然后扯了一波H的一二级缓存。
③说一个自己熟悉的框架。答了一波SpringMVC的处理流程。
④GC和GC算法。   答得不是太好,不献丑。
⑤线程池,连接池了解吗?
答:没用过,但是就是提供了一个池状态,能减少创建销毁的开销。顺道聊了一下自己的项目,在处理延迟上,就通过类似的操作来提高了效率。
面完以后面试官表示我的项目还不错,但对我第一题很不满意,顺便告知一面通过。
【????什么】

二面:
聊项目:面试官好像比较感兴趣,听我扯了三十多分钟。
问基础:
①数组,链表,哈希表的实现、区别、优势。
②HashMap扩容的点?答:装载因子&链表长。顺便扯了一波java8用红黑树改进。
③因为8的源码没看过,引导我对红黑树的改进做了几个猜想。
④Java8的String,垃圾回收有什么改进?  没看过,聊了一波常量池上的回收。
⑤手撕代码,题很简单,有点难描述。主要考察代码的鲁棒性,此处略。
结束:你有什么想问我的?
就行业发展情况探讨了五分钟。

三面:
是个小姐姐,666666。
聊了十来分钟项目。
手撕代码:
①自己实现一个atoi。c 用得少不知道atoi是啥,小姐姐给讲了(parseInteger)。要考虑负数和溢出。写的时候没考虑溢出,被问到时口述了解决方式。
智力题:
m乘n的格子,求正方形数。菜鸡不会。

问基础:
①Linux和多线程熟悉吗?答:linux不熟,多线程还行。
②问了个查占用某端口进程的命令,忘了。
③i 多线程下是原子的吗?不是。
④静态链接库和动态链接库的区别?
聊人生,略。

某团
聊项目,根据项目问了:
①你觉得一个产品吸引用户,最重要的是什么?
答:???首先要有这个市场需求。此处被打断,问:只说一点,你觉得最重要的。
答:要有友好的用户界面吧。。。楼主菜鸡,不好用的软件我是不会用的。
问:是吗?
②你这个系统在安全上是怎么考虑的,比如登录的时候,如何保证用户信息的安全?
答:可以考虑https,另外数据加密存储。
问:如果黑客攻击呢?sql注入你怎么办?
答:检查提交数据的合法性。
③如果用户规模很大,高并发的情况你怎么办?
答:读远大于写的情况,考虑使用缓存。减少数据库上的IO。
④你用什么缓存?
答:没用过,可能redis吧。
⑤如果用户没登录就通过url访问付款完毕页面你怎么办?
答:问的太出乎意料,直接傻了,就回答了url后加id才能访问。后来突然想起放到web-inf下不让直接访问,另外未登录状态下将该操作拦截即可。
⑥因为⑤没答好,引出了此问题,如果黑客伪造id去访问你怎么办?
答:首先这个id要有效,其次,登录地址不是常用地址,发短信验证。
⑦此处感觉被面试官呵呵了一脸。。。以后一面不想再聊项目了。
⑧TCP三次握手四次挥手,过程和为什么。
⑨TCP如何控制包的有序?seq number,顺便装x说了很多。
⑩http有状态吗?无。说一下长短连接怎么做的。
打不出11了,从1继续。
①说一下Java的堆栈。
    答:???一通说,顺便扯了点GC。
②数据库索引,知道什么说什么。
    答:问得太大,就说了一下B 树索引,和索引的作用。
③为什么能减少磁盘IO?
   答:从数据的分布情况,全表扫描的IO开销是很大的。用树只用读取树高度次。
④用B 树要读取多少次?二叉树呢?
⑤因为忘了说要用平衡的多叉树,又问我如果树退化成链表怎么办?内心:B 树难道不是自平衡的吗?
⑥你说多叉,具体是几叉?
    答:不知道,叉多了平衡代价大,少了IO次数多,我感觉3就行。问:是吗?
⑦数据库引擎是怎么处理表连接的?
    答:不知道,数据库原理说表连接就是求笛卡尔积。面完以后问了面试官,发现这个题的答案就是求笛卡尔积的过程。。。。表A的数据和表B的逐行连接。
手撕代码:
①如何判断二叉查找树。
②由于楼主表示自己算法很菜,面试官问了个简单的。上楼梯那个,斐波那契数列。
   这题太常见了,,选择题常考啊。装不下去了,表示自己做过这题。
写完以后,面试官:
上一题你做过,我再问你一道题吧。
  内心:!!!兄弟们,是时候练练演技了。
③约瑟夫环。
   我:一顿狂演,冥思苦想。正要开始写代码..
   面试官:等你写完程序别人都报完数了,这是个智力题,数学方法求解,你说思路就行。
   我:......不会。
约瑟夫环公式法求解,有兴趣的战友可以查查。
提问环节:
情报,美团的排名里,笔试成绩是有一定权重的。
{}卒
#百度##京东##美团##华为##Java工程师#
全部评论
学姐能留个扣扣请教下嘛?
点赞 回复 分享
发布于 2017-09-23 00:46
看完大佬的面经,19萌新有点慌....
点赞 回复 分享
发布于 2017-09-22 15:57
很强
点赞 回复 分享
发布于 2017-09-22 13:31
没钱的话要想点办法,要有解决问题的能力,借钱不比找工作难,当然说的是借小钱
点赞 回复 分享
发布于 2017-09-22 11:54
ps -aux | grep  xx
点赞 回复 分享
发布于 2017-09-22 11:41
重载普通方法应该也是动态绑定吧
点赞 回复 分享
发布于 2017-09-22 11:34
小姐姐666😳
点赞 回复 分享
发布于 2017-09-22 11:32

相关推荐

11-15 22:55
安徽大学 Java
本人bg26届中下211计算机相关专业,从大一到大三基本上都是玩过来的,除了会个Java基础语法,sql基本查询语言,以及一丢丢的数据结构知识,其他基本上是一窍不通,什么springboot,maven,git听都没听说过,大三下的时候也是很焦虑,面临就业还是考研考公的选择,最后因为觉得想出来挣钱选择了就业,并且因为自己对于Java算是比较熟悉,也看到网上说Java需求很大就选择了Java,我爸妈在上海工作,7月初的时候我来到了我爸妈这里准备边学边找实习,暑期实习是指望不上了,准备就找一些日常实习就行,开始在网上搜找Java实习需要哪些技术,结果看到一堆听都没听过的英文单词,mybatis,redis,git,maven什么什么的,头都大了,想着这要学到啥时候啊,没办法只能硬着头皮开始规划,在网上看到了苍穹外卖,决定直接开始干项目,刚开始的时候连注解是什么都不知道,遇到不会的就去看看黑马的Java&nbsp;web就这样一直坚持了二十天左右7月25号,苍穹外卖终于做完了,赶紧写进了简历中开始投简历,投的大部分都是中小厂,ssob的尿性也都知道,大部分都是已读不回,在一些大厂的官网我也有投递,不过那时候简历太简陋了,根本没有回应,我发现一个外卖项目根本就找不到实习,于是马上开始了黑马点评。7月31号,接到了人生中第一个技术面试,抱着试一试的心态去参加了,还记得面试官问了hashmap的原理,我支支吾吾说不上来,问的问题中基本上百分之六七十都说不上来,当然面试以失败结尾,不过从这次面试以后我开始有意识的去看八股,以及看一些别人的面经。8月8号左右,黑马点评做完了,又是赶紧写进简历里开始投,这个时候一些小厂会有回应了,但是约面还是不算多,中间有几家约面的但是都说是低代码平台,面试甚至都不问什么技术,我就感觉不靠谱,好在也没给我发offer,还是感觉比较挫败的,我本来以为日常实习应该会好找一些,没想到找了一个多月了还是没有希望,我妈都开始嫌弃我了😅8月15号以后陆续有一些小公司会找我去面试了,基本上都是线下面试,最多的一次一天面了三场,大部分薪资都是在100~250之间的,毕竟是小厂,其中有一个打电话约面的时候说300一天早十晚七,当时我眼前一亮,不过后来很快就平静下来,我这么菜,这种好事怎么会轮到我,也是抱着试一试的心态去了,去这个公司面试的时候问的还是比较深入的,下面贴一张这家的面经和我当时的简历,拷打项目的时候我还是有很多答不上来的地方,面完这家我也没有多想就去继续面别的公司了。8月25号,ssob上前面提到的公司hr主动给我发消息问我有没有找到实习,我说还在找呢,他就要加我微信,并且给我打电话问我什么时候可以入职,薪资是否可以接受,等我答应下来后里面给我发了offer,我当时真的觉得世界那么不真实,明明我面试回答的挺糟糕的不知道为什么还会要我,而且给的薪资也是我没想过的。9月1号,我正式入职了,原来我是我们公司第一个Java实习生,整个研发部就我一个实习生,不过我的同事们都很厉害,我们小组另外三个开发分别来自BAT,这两个多月以来我真的跟着学到了很多东西,从最开始的项目都跑不起来,到梳理公司的业务文档,再到写一些对账任务,到独立完成小型开发,再到现在可以完成团队开发,虽然是100人都不到的小厂,但是我觉得在这里学到的东西应该不会比大厂少,很感谢现在的公司,也很感谢曾经努力的自己,下个月我就要进行转正答辩了,祝我好运,也祝看到这篇文的uu们都能邂逅自己的小幸运😋
点赞 评论 收藏
分享
评论
点赞
53
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务