非985的安卓校招历程+面经

因为我在学校做过几个项目,都是前后端都做,大三实习期间又深入做android、ios开发,所以我这次大四校招投的都是自己最擅长的android开发岗位

百度

百度一面

1.问极光推送JPush怎么做的 有什么优缺点,要怎么改
2.apk如何瘦身,如何写脚本去掉多余的资源,内存如何优化,性能如何提升
3.protobuffer 和json什么区别 分别适用于什么场景,自己设计一套通讯协议,如果尽量压缩每个key(我是说模仿probuf前面几个bit来表示字段编号,类似probuf 的编号,后面2个bit表示类型,长短整形 string等 解决大小端问题)
4.UI View渲染流程
5.activity几种启动模式
6.view的 attach deatch 是谁触发
7.手写一个快排算法
8.tcp三次握手 sack是什么
9.redis如何存储用户信息,问我热数据是以什么格式存的,问我用过几种类型数据,什么场景用的
10.服务器如何实现秒传文件

我是在线视频面试的,面完了面试官让我等一下,意思应该就是过了,等下一轮面试,让我不要走开
好多个问题 一面一小时半特别长

百度二面

1.问我实习收获,经验
2.问我过度绘制怎么解决,问我如何发现内存泄漏
3.然后就说项目很牛,开始问我基础的
4.问我final 有哪些用法
5.static哪些用法
6.volatile什么用法
7.java 一共就2种,值类型和非值类型的理解
8.锁有几种
9.synchronized 如果加到一个方法,另一个线程想访问类中的其他方法行不行,如果两个方法都加sync关键字,又是怎样的访问权限
10.public 和默认的 什么关键字都不加有什么区别
11.问我对进程、线程、golang的协程的理解
12.android service 和广播的理解
13.如果我们的应用关闭了,或者根本没打开过 还怎么收到推送

二面差不多经历了45分钟,面试官就说够了。。。不需要再问了,我就知道应该是过了。。。就继续坐着等三面

百度三面

1.是个boss面试我的,一上来就问我有没有了解过哪些开源框架,我先说***,然后说***的长轮询和轮询的区别,如果一直没消息,服务器一直hold住连接占用资源怎么解决的
2.让我自己做一个下载库,怎么实现,进度条要以什么形式发送出去
3.问我android开发时候有没用过什么框架或者什么设计模式,我好像就用过1种模式,就是MVP,问我P(protocol)是怎么实现的,为什么要用这个模式
4.问我其中一个项目(IM即时通讯)是如何存用户连接的,如果是tcp/socket长连接,是如何管理连接的
5.问我平常app里面 用http经常不,tcp呢
6.问我有没有接触过openGL,对他什么理解
7.问我希望在哪个城市工作
8.问我经不经常用linux,平时开发用什么系统,linux异步和同步i/o是怎么实现的,实际上就是在问linux select 、poll等的原理

百度每次面试完都会问我有什么问题,都会尽量回答我,每个面试官态度都很nice,会经常笑一笑缓减一下我的紧张,二面面试官说百度是:3面技术面都过了,会放到池里面,每个部门自己挑选,要的话该部门会自己联系我,如果没人要,也算挂了,也有可能会有多个部门都给我发offer,到时候就可以自己选择了。每个面试大概间隔40-50分钟,效率不错。

wps

wps一面

1.android proguard了解吗?混淆原理,有什么作用
2.android手势如果左右滑动和上下滑动冲突,如何解决手势冲突
3.android事件分发机制
4.java 映射的理解
5.android 如何和cocos游戏引擎对接,js代码如何调用java某个activity里面的某个函数(这里主要是因为我有做一个android app,我有负责做android和cocos游戏引擎对接模块)
7.apk瘦身从哪里入手
8.对单例和工厂的理解和使用
9.手写一个冒泡排序

wps二面

1.有没有看过android 广播源码,我没看过,然后凭借自己的经验和推测,自己实现了,不过事实上google源码差不多也是那样的
2.还是问我有看过哪些源码,我说jdk1.7 1.8的HashMap 。。。讲到hashCode时候,问我源码是怎么做哈西的,讲到红黑树的时候,问我为什么要用红黑树,不用B或者B+树
3.对java锁的理解,我结合ReenterLock synchronized volatile分别说一下各自说一下优缺点,什么适用场景
4.espresco测试框架有什么优势,让你测试时候选择他,或者说服我,让团队使用他,还是问我他是如何截取到网络请求返回的数据,问我有没有看源码,我还是弱弱的回答了没有,这问题把我问住了,没想到问测试框架怎么写,然后他就给我提示,编译前和编译后,如何修改源码方向
5.如果每个应用无限发广播,android本身是如何处理的,我就说广播给他设置优先级,按照优先级,系统广播高,应用广播低,然后他继续问,如果每个应用广播权限都调到最高,这时候怎么解决的?
6.对工资的要求
7.对工作城市的要求

wps二面是android端组长,老是问我有没有看过源码,问到场面一度尴尬,到最后他主动说你肯定过了,但是千万要听清楚面试官要问什么,然后就是开始瞎聊天环节了

wps三面HR面是隔天让我去广州分公司工作地点谈,就这样结束了。

美团

美团1面

1.redis multi 订阅模式的理解和使用
2.mysql数据库结构?如果有1:where b=? and a=?   以及2:where b>? 要如何建立索引,联合索引a,b 和b,a有什么区别
3.ios和java gc有哪些方式,分别有什么优缺点,为什么会全局stop working,如何修改,不让他stop working
4.安卓内存优化
5.如何用数组实现一个队列,尽量少扩容 (这其实就是一个循环数组重复使用,front end 每次都要%length就可,最主要是考查边界的判断,是否为空和是否满了,以及满了如何扩容等等)
6.如果事务处理一半,读取数据库数据可能有问题,几种解决方法
7.一棵树,求拥有最大左右子数路径差的节点,我写了一个从上往下的递归方式,他不大满意,让我再换一种,我就换一种从下往上递归O(n)级别的,问我递归最重要的结束条件以及返回值是什么。

一面刚开始是问android java有关的,然后估计觉得差不多了,就说问二面问不到的问题吧,然后面试官就说自己是做服务器的,就疯狂开始问后端,心理有点虚,因为快一年没做后端,有些都忘记了,然后面试官就说让我去等候区再等等二面

美团2面

1.http https ssl区别,http有哪些方法,分别有什么区别,如
  何减少建立连接,有哪几种应用层协议
2.java建立线程池有哪些方法,优缺点分别是什么
3.手写一个快排,尽我所能来优化他
4.ping的理解
5.如何***,如何自己做一个***,如何连接到国外ip,如何穿越中***火墙,输入一个国外网站显示无法访问有几种实现方式
6.android localBroadcast和普通广播的优点在哪儿
7.android apk瘦身
8.看过哪些书 分别是讲什么的
9.让我多看一些书,系统学习,有些地方有误解
10.java 引用类型有几种,默认 weak弱引用,还有哪些的,之前gc采用引用计数方式,达到什么目的,那现在是用来干啥的?

美团的2面让我紧张的不行,我怀疑我报得是后端的,移动端问的比较少,不过感觉美团的这2个面试官是真的大神,跟百度1面面试官一样,通过面试就可以看出面试很牛逼

美团三面

1.C++构造函数能不能抛出异常,析构函数
2.android如歌界面出现白屏,有多少种可能,至少罗列出10种
3.android某个界面启动3秒,如何减少它到1.5秒
4.心跳包如何设置,跟keep-alive有什么异同点
5.android 前台、后台等所有进程等级区分,如果内存不足,回收顺序是什么,如何尽量保持一个后台服务进程不被kill回收
6.IM通讯系统中通讯协议

美团三面是后来单独叫来的一个复试官面试的,应该是团队技术老大,全栈工程师的那种,对整个架构理解很深、定位很高,感觉美团的开发团队技术水平不错,算是我面过最难的了(除了谷歌)

迅雷

迅雷面试 1面就挂了,不得不说这家公司的HR是坑爹中的坑爹,通知我16:20到酒店去面试,我15:00就到了,等到17:20时候,听旁边的人聊天说都是早上8-9点就来排队,谁先来签到排队谁先面试,不按照短信通知时间面试的,旁边一个女的说早上9点来的,轮到下午2点才面试到一面,别人家都3面完了,我还没一面,轮到我的时候。面试官就问了我15分钟左右就收场了。。。他们开始收摊了。。是真的不爽,我菜我承认,但是我还是要曝光迅雷HR真的坑爹。
他就问了我2个问题:

1.如何做一个消息推送,有什么注意点
2.写一个后序遍历

腾讯

腾讯一面

1.inten-filter匹配规则
2.activity启动模式,分别是什么使用场景
3.实习做的APP遇到的什么问题,如何解决的
4.bugly原理,或者自己做一个闪退日志上传如何做,如何统计
5.自己写自动化测试时候测试用例有哪些
6.这个app里面的游戏是cocos引擎做的,java cocos js 如何互相调用
7.android同步UI有哪些,分别适合什么场景
8.mysql引擎有几种,有什么最主要区别

一面面完让我回去等结果,那天晚上快12点状态才变成二面安排中

腾讯二面

1.一上来就问我实习做的APP遇到的最优挑战性,对我来说最难的是什么,花了多久解决,如何解决的。
2.问我这个 app做了哪些性能优化,做过的都讲出来
3.问我某个控件是如何封装的
4.让我手写一各 寻找某2个点的最小公共父节点,
5.问我tcp 如何保障可靠连接的,重传机制是什么,时间点如何选择
6.udp如何实现可靠传输
7.然后他就说我项目经验丰富,底层知识也很牢固,说我们是腾讯软件质量保障部门,进来之后大部分是做白盒测试的,问我是否同意,我委婉说了半天,就是希望去开发,还年轻不想做测试,拒绝了的意思,然后就二面挂了

腾讯笔试会相对简单,容易过,面试会难一些,筛选率也就高了,一面的时候人特别多,二面的时候没看到几个人。。。也有可能是今年的腾讯hc名额太少了

7/8月在实习,全部错过了内推时间,9月1号辞职开始全面复习,我最早自信只报了BAT三家,大部分都没投,然后9.15左右才投了美团迅雷YY几家而已,9.27我腾讯二面挂了,第一个非常喜欢的公司挂了,自信心打击特别大,疯狂投递全国IT行业前100强公司,投了将近70家,但是大部分都已经过了网申/笔试时间了,也有一个原因是学校不好,(比如爱奇艺,把我简历都筛选了,我简历还算不错,很多个项目经验+实习经验),最终给我笔试机会的只有20家,不过大部分都笔试通过,进入面试,由于各种冲突+自己不喜欢,只面试了以上几家。校招就这样结束吧,美团,wps,百度 offer,不想再笔试面试了,but keep learrning...

IT行业,大公司的春招(针对的是大三下学期刚开学2月底--3月,这是春招内推时间,3-4月中是正式春招的黄金时间),校招(或者说秋招,针对的是大四上学期也是刚开学,7月底--8.30号是内推黄金时间,9.1-1.20是校招的黄金时间),这2个招聘都是非常重要的,如果你没有什么面试经验,想积累面试经验,或者觉得自己笔试、编程能力弱,或者觉得自己的复习没有方向无力,那就可以在这2个内推时间段找各个公司的师兄师姐内推,尝试一下面试,如果没有的话可以联系我,我可以帮你内推,我还是认识很多不同大公司的师兄师姐的。

如果你想知道哪题我是怎么回答的,或者有什么想跟我讨论交流的,评论留言告诉我。

#腾讯##百度##迅雷##美团##Java工程师##安卓工程师#
全部评论
赞一个!
点赞 回复
分享
发布于 2017-10-19 20:47
好厉害
点赞 回复
分享
发布于 2017-10-19 20:55
淘天集团
校招火热招聘中
官网直投
volatile
点赞 回复
分享
发布于 2017-10-19 21:08
~\(≧▽≦)/~ 楼主棒
点赞 回复
分享
发布于 2017-10-19 21:27
很棒啊!
点赞 回复
分享
发布于 2017-10-19 23:10
我咋感觉腾讯笔试难呢。。选择题问的都是c++。。还不定项
点赞 回复
分享
发布于 2017-10-19 23:13
厉害
点赞 回复
分享
发布于 2017-10-20 01:29
楼主太牛了
点赞 回复
分享
发布于 2017-10-20 09:23
有什么问题之类的都可以在这里评论告诉我,如果想内推的,可以留下邮箱
点赞 回复
分享
发布于 2017-10-20 09:44
厉害,收割机
点赞 回复
分享
发布于 2017-10-20 10:00
好久没在牛客高质量的面经了
点赞 回复
分享
发布于 2017-10-20 10:15
自学想转行,看你面试的问题,吓得我呆若木鸡
点赞 回复
分享
发布于 2017-10-20 10:29
写得非常详细,感谢分享!
点赞 回复
分享
发布于 2017-10-20 11:49
写的很详细啊,厉害
点赞 回复
分享
发布于 2017-10-20 12:38
本科生?厉害👍,那个服务器文件秒传是什么思路
点赞 回复
分享
发布于 2017-10-20 12:53
大佬,wps有通知了吗
点赞 回复
分享
发布于 2017-10-20 16:33
给班长点赞(lin)
点赞 回复
分享
发布于 2017-10-20 18:02
有什么问题之类的都可以在这里评论告诉我,如果想内推的,可以留下邮箱
点赞 回复
分享
发布于 2017-10-24 08:26
请问http,https,ssl这部分该怎么学呢?感觉很多博客都讲得零零散散,有没有什么好的资料推荐,感谢
点赞 回复
分享
发布于 2017-10-24 10:56
楼主很强势!
点赞 回复
分享
发布于 2017-10-24 11:09

相关推荐

40 124 评论
分享
牛客网
牛客企业服务