非985的安卓校招历程+面经 | 您所在的位置:网站首页 › java怎么做安卓app › 非985的安卓校招历程+面经 |
非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工程师##安卓工程师#注意!此信息未认证,请谨慎判断信息的真实性! 提示 |
CopyRight 2018-2019 实验室设备网 版权所有 |