阿里,华为,腾讯,小米2019秋招实习面试经历(Java岗位)

首先自我介绍,非985,非211学校,主要从事Java后台开发,大一至现在做过两个项目(都不深),有一段去小公司的实习经历,今年刚到学校开始准备实习,陆续投了小米(我是米粉),阿里,华为,腾讯,京东,网易,今日头条等一系列互联网公司,小米,腾讯,今日头条挂一面,网易笔试过了和华为冲突了,去华为面试了,只拿到了阿里的java后台offer,华为应该算是口头offer吧(不过据说城里套路深,有可能是面试官诈你),然后其他几家公司就不打算去面试了。

小米面试

小米是最早的,向来重视算法出名。

准时电话打过来,首先自我介绍,然后倒着输出链表元素(压入占输出),然后问如果要修改链表元素呢(也就是3个指针翻转链表了),然后让手写链表倒数第k个数(两个指针跑,一个先跑k步,后面一个再跑),写好后发邮件给他,老实说以前面试都是说一说算法就行,第一次这样写代码发过去,有点紧张,哆哆嗦嗦打开eclipse写完了发过去。

第二题:给定一个字符串如果某个字符是? 后面可以表示任意多个字符,如果是.说明可以表示一个字符,现在给定两个序列,问第二个能否符合第一个序列,卡住了,想了个递归发过去了。

第三题:设计红包算法。这个想想不是简单么,每一个红包随机啊,最后一个总数减就是了,后来面试官提醒必须至少保证每一个红包为0.01,然后改成先每一个都放0.01,再随机,估计有更好的方法。

你还有什么想说的:

说了自己是米粉,买过小米4,小米5,小米耳机,小米充电宝,关注过小米b站账号,希望能加入小米.面试官来兴趣了,来说说对小米6有啥期待,希望用上澎湃么,一脸懵逼,说了句要是澎湃比晓龙835好就行,只听见面试官爽朗的笑声....

结果:再无消息,第二题和第三题答得都不好。

阿里面试(4面加hr)

阿里是内推,顺利过了简历关,然后3月2号打电话过来。

1,自我介绍。

2,项目介绍。

3,实习介绍。

4,java基础(真记不得了,这个真不难)

5,java内存模型(撸完深入理解java虚拟机后都是菜)

6,java多线程(这个地方就问了同步锁,可重入锁,读写锁,3面问的比较深)

7,MySQL事务,存储过程,视图,索引,分区全家桶(问了很多点,老实说,答得不好,所以一面完恶补了下)

8,数据结构会哪些(我去,我还以为阿里会问些高大上的呢,答栈队列树图,问了树的定义....)

9,问会不会堆,怎么建堆,bilibala讲了两种方法,然后问堆排序怎么实现,bilibala讲完还说能用来做求第k大数.

10,第k大数还能用哪些方法,各自优缺点(编程之美上的)

11,说一下7层,4层协议,说一下各自每一层干啥的

12,tcp和udp区别,如何用udp实现tcp

13,操作系统全家桶(lru,磁盘寻道,死锁条件)

14,有啥想问的么

感觉都是基础,问的非常细,但是数据库答得不好,后来恶补了下,总共问了1个半小时还要多....

二面:

二面爽歪歪,面试官说小伙子,你写博客啊,来来来,我们问几个你博客上写的问题,那绝壁都会啊..

然后问了设计迷宫游戏的时候怎么设计生成迷宫的算法,怎么设计游戏难度,拼图游戏怎么保证一定有解(n*m分奇偶性讨论)

然后没想到面试官也会计算智能,遗传退火蚁群禁忌搜索聊的都很开心,扯一扯退火的公式,遗传的流程,选择下一代的方式啊,禁忌表的生成

还和我说什么信息论,我擦,不会,不过没事,能感觉出来面试官已经挺满意的了.

半小时就结束了,感觉和面试官聊的挺开心的,当时就觉得这轮妥了。

三面:

疯狂问多线程与并发相关知识:

创建线程3种方式
线程池的使用,顺便扯到了单例模式,懒汉饿汉,多线程下保证懒汉的同步性及其优化
wait和sleep
wait和await
concurrent包
你做的oj最多支持过多少人同时访问,做过负载均衡么,扯一扯dns负载均衡,图片服务器,反向代理负载均衡,负载均衡的算法,之前几种反向代理的优缺点
知道网络安全么,随便聊聊https,ddos之类的(有个做ctf的室友就是好)
数据库隔离模式,对应的脏读,不可重复读,幻读
如何实现索引,b+树与b树区别
hashmap源码,arraylist源码(arraylist源码可以扯一扯arraylist在序列化上的优化,然后扯一扯序列化,还可以顺便扯一扯网络编程)
40多分钟吧,答的一般般,可能是源码答得比较好,其他的说真的也就是泛泛而谈.

四面:

绝壁是压力面,聊不到3句话就说麻烦用简单几句话概括一下,然后语气非常凝重

加载数据库的过程,反射就可以扯一扯类加载,双亲委派之类的
然后问这样会导致SQL注入么,不会,因为使用了preparestatement
然后问为什么会这样......一脸懵逼,反正随便答答
问了几个框架,貌似是分布式编程里的,听都没听过
然后问了能实习时间,为什么不考研
大概半小时就结束了,不是特别满意,就第一个答上来了,后面就是一脸懵逼了
hr面:

1,人生经历

2,人生最大挫折

3,在校除了学习还干什么(打乒乓球啊,扯一扯从小到大拿的比赛的奖)

4,有妹子没有,喜欢她什么

5,我要是挂了你,你会怎么样......(这个问题一出,我就感觉好虚)

等了一个月后于4月14日晚收到offer意向书,当时那种感觉,这辈子不知道还能不能有机会感觉到

总结:没有牛逼的项目,没有牛逼的学校,只能拿基础来填,注意他问你一个问题,你要找个角度展开,面试官可能比较满意这种.

多线程,数据库,java集合这几个都要了解到非常深的地步才能不变应万变.

腾讯面试

1,去面试官下榻的房间,上来做两道题目,生产者消费者问题,还有一个就是给一篇文章查敏感词汇的,很快写完了

2,问如果共享区空间溢出了呢,黑人问号,没听懂...

3,我们换个问题,如何判断某个端口是否开启,建立socket连接,发信息,面试官说如果是udp呢,无状态呢...不会

4,数据库索引hashmap和b+树区别

5,谈谈滑动窗口模型,扯了扯,问用什么数据结构设计滑动窗口...链表,数组,队列,所有线性结构都答了一遍

5,知道arp不,知道,先查表,后广播,再单播回去,再问,用什么数据结构设计这张表,建hashmap,空间不够,怎么维护,秒想到lru,答类似lru,把最远未使用的拿掉,维护一个时间,再次访问就更新时间,问还能优化么,想到o(n)一般优化成o(logn)么,想到建一个堆,每一个堆中元素指向hashmap的键,然后维护堆即可,面试官还不满意,答曰不会

结果:1面挂,可能是因为那个面试官是c++的,所以没聊一些java内容,聊起来有点吃力,计算机网络只知道东西,再问深一点就不行了

华为

编程题三题两道水题还有一道迪杰斯特拉加输出路径。http://blog.csdn.net/fengsigaoju/article/details/65934742

性格测试:这个感觉是华为面试中最难的环节,第一次没过,收到重测邮件第二次才过得,可以参考http://bbs.tianya.cn/post-516-150970-1.shtml

一面:去了先签到,然后等着喊你,问项目,现场还带笔记本演示了下 ,这就下一轮了...

二面:聊人生,聊了实习经历,学到了什么,对华为的认识,有没有兴趣搞信息安全,没了...

总结:华为面试1看人品,2看项目,有项目啥都好说。另外华为很多面试官不会注意问你技术问题,你可以自己表现自己,临走那个面试官说小伙子不错,5个工作日给你发offer,腿一踉跄,这就等offer了...

针对上面面试题我总结出了互联网公司java程序员面试涉及到的绝大部分面试题及答案做成了文档和架构视频资料免费分享给大家(包括Dubbo、Redis、Netty、zookeeper、Spring cloud、分布式、高并发等架构技术资料),希望能帮助到您面试前的复习且找到一个好的工作,也节省大家在网上搜索资料的时间来学习,也希望有需要的朋友能在金九银十找到一个好工作!

阿里,华为,腾讯,小米2019秋招实习面试经历(Java岗位)
阿里,华为,腾讯,小米2019秋招实习面试经历(Java岗位)
资料领取方式:添加VX:13272413561,备注51免费领取。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章