【Android高级进阶】论一个普通大学电子商务大三学生,怒刷3000道题逆袭拿到腾讯Offer?

**面试官:**你刚才对Volley的实现机理讲的十分详细,调理也很清晰,很不错,那你知道为什么线程池里面是有5个线程在循环呢?为什么不是6个7个或者8个呢?

:哎呀,这个问题倒是没有细细去想,但是当初也很奇怪为什么会定5作为全局常量呢?会不会因为5是开发者的幸运数字呢(黑人问号 😂),后来想了一下对面试官说,可能是因为Volley面向的网络请求是请求量比较小但是请求比较频繁的操作,所以5应该是刚好能够处理得来的,又或许5是一个经过大量的数据实验之后得到的一个相对符合的数量吧!

面试官:笑了笑,其实我也不是很清楚。(尴尬 😧 ,面试官好像想逗我一下)。接着问:说道网络请求方面,你能不能说说像QQ这种IM的通讯机理是怎么样的?

:有点紧张 😰 ,因为复习时间比较短,所以还没仔细看网络方面的知识,所以就大概说了一下4层结构还有3次握手。

面试官:似乎觉得还可以,继续点头。接着问:Volley网络请求了哪些数据类型?

:String字符串,图片,XML,JSON。

**面试官:**服务器是自己搭的吗?

:尴尬了一下,不,不是自己搭的,是用到了一些天气和全国城市的接口数据,因为当时在做调试,所以没有心思去搭建一个服务器,不过在大二的时候学过WEB开发,对Tomcat比较熟悉,并且简历上的第二个项目就是我当初做的Blog项目,所以对服务器的搭建还是有一些心得的,接着就跟他说了一些搭建的步骤。

面试官:对我的回答很满意,毕竟学Android的如果能够对服务器端有比较深的认识的话在做数据测试的时候是可以省去团队的很多开支的。接着问:说说XML、JSON、GSON有什么样的联系?

:这个很简单了,有接触过的应该都知道,XML全称叫做可扩展标记语言,它的结构相对简单,可读性强,但是对于一些比较复杂的数据结构就很难存储,JSON的话刚好弥补了XML的这些缺点,至于GSON的话,是因为Google的一个开源库而得名的,这个开源库可以很方便地将JSON数组转换为对象,这在开发中简化了将JSON的字段转换为属性的步骤。

面试官:数据库的操作用到的是什么类型的数据库?

:用到的普通的Sqlite。其实我还可以多扩展点的,例如用过GreenDAO框架,所以还可以说说用了GreenDAO与用传统的Sqlite的操作的区别。

面试官:说说你用Github做了些什么?

:有点不太清楚面试官问这个问题的意思 😮 ,就说经常push项目,订阅了代码家的邮箱推送,每天会推送一些Github的好项目,所以会fork一些优秀的项目,并且在Indigo项目中积极地发issue。

面试官:点点头,似乎觉得还可以。学过C/C++吗?

:很尴尬,作为一个电子商务专业的学生很怕被问到这个问题,不过还是如实地向他说明情况,没学过C/C++,但是学过JAVA,数据结构、算法、计算机网络,并且我在自学操作系统。

面试官:显然很惊讶没有学过C,但是考虑到是Android开发,所以也就没多为难我,并且了解到我自学操作系统露出了笑容,接着让我说一下算法。

:咳 😥 ,算法准备的不是很充分,所以鸡贼的向他讲了最简单的冒泡排序,还没讲完他就频频点头。舒了一口气。

面试官:经常写博客对吧!说说自己写得最好的一篇博客吧。

:很欣喜,向他讲起了写Volley源码的那四篇文章,他也听得津津有味,感觉自己坚持做的一些事情终于得到别人的认可了,很开心 😊 。

面试官:有没有觉得自己做得比较自豪的事情但是我还没有问到的?

:写博客啊!向他说道一开始是用的博客园的第三方博客,但是后来很想有自己可以DIY的个人博客,并且很喜欢Material Design所以就花了很多时间来建站,从博客程序的安装,到域名购买、服务器维护、网站推广,自己都用了很多的时间和心思,还说了自己很喜欢MarkDown,真心觉得Word可以仍掉了。他边听边笑。

面试官:听到我写博客的这个过程很是满意,对我露出了笑容。看了看时间,说道:面试快结束了,有什么问题想要问我的吗?

:面试前就准备好问题了,所以像个小孩子一样问他我可以问您两个问题吗?右手比起了剪刀手。

面试官:当然可以。

:第一个问题是让他对我的此次面试做一个评价,第二个的话是想问一下面试官的邮箱,以便在往后的学习工作中请教。

面试官:“HR团队有规定,面试官不能与学生们私下交流,所以这个请求我可能无法实现,如果接下来的面试有机会的话我再跟你联系,希望你见谅。至于第一个问题的话,我觉得你挺优秀的,作为一个不是计算机专业的学生能够在大一的时候就清楚自己未来在Android开发的方向,并且为此而努力着,你说到你写博客的时候我也很喜欢。” 他讲起他与他的同事们在工作中也累计了很多的经验与知识,但是分享的群体也就局限于他们团队,他说像我这样把我学到的知识分享给更多的人,这种也是开源精神的一种体现,希望我继续葆有这样的热情,另外就是我对源码的研究十分的仔细,回答问题的时候逻辑十分清晰,看来对源码的理解是十分的到位的,希望我能够继续保持这个习惯,这样我才能够学到更多的知识。

不出意料,当天晚上接到了二面的通知,第二天早上10点20的面试,似乎觉得自己运气挺不错的,也好像应了那位女士说的。

二面

================================================================

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pODrHkLY-1591086049237)(https://upload-images.jianshu.io/upload_images/22459598-e3f2d21ade33e87d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

前言


二面前天晚上,因为想到二面可能是总监面,所以抓紧时间复习数据结构、算法还有网络方面的知识,因为就差这两块没有复习了,记得那天晚上躺在床上看到了一点多😖 ,第二天早早起床也是提前两个多小时出发,因为适逢上班高峰期,所以过了好多辆公车还是挤不上,好不容易来了一辆,挤上去又被挤下来了😒 ,好在最后终于上了公车。

短信通知进入房间面试,二面的面试官有点胖胖,跟一面的瘦瘦面试官一看就不是同种类型的,似乎更难对付,暗自捏了一把汗。

面试开始


:敲门,问好,深深鞠躬并双手呈上简历。

面试官:你好请坐,先做个自我介绍吧!

:跟一面一样,把自我介绍顺利的说了一遍,当然相比一面也适当加了一些内容,因为涉及隐私,所以就不方便写出来啦。

面试官:绩点很高哦(本人专业课学霸),Android是自学的对吧?学习多久了?

:跟一面一样,如是回答。

面试官:印象似乎很深刻,觉得我自学能力不错,并且学习成绩好,应该还是个比较有追求的少年。电子商务专业有哪些课程?(又是这个问题,已经麻痹了😒)

:像上面的一面回答那样,我很真诚的回答面试官的问题,面试官边听边点点头,听到自己在自学操作系统,就抬起头向我微微笑(有点开心😊)。

面试官:说一下你这个Volley项目吧!讲讲你学到了什么?

面试官:像一面一样,我详细地讲解了Volley的实现机理,并且加上一面面试官问到的为什么是5个线程的问题,阐述了自己对这个问题的看法,面试官从看着简历到双眼凝视我。

:感觉很有戏,不过也预感总监会问一些比较难的问题,所以还是心有余悸。

面试官:在自己做项目的时候是怎么优化代码的?

:感觉总监面问的就不是一般的问题,因为过了一面所以底子怎么样他应该是心里有数了,所以就问一些宏观上面的问题,考察我开发的一些习惯,这点对于团队合作开发是至关重要的,没有哪个头想招一些编程习惯不好的孩子吧!所以我就向他介绍了Lint,以及日常经常使用的DDMS里面的traceview,heap,allocation tracker,并且分别介绍他们的功能是怎么样的。说完一大堆之后自己舒了一口气,也没有一开始的怯场了。

面试官:礼貌性的笑了笑并且点点头,并且用MBP打开了我的网站,应该有看到吧!问我怎么看Android的UI中的动画?

:有点懵逼,不知道面试官想问哪方面?就说了Android的三种动画:Tween,Frame,Property(3.0之后推出的),还说了Activity的进入退出的动画的实现方式,例如使用style定义Activity的淡出淡入效果,还有可以复写Activity的overridePendingTransition方法实现这个效果。

面试官:似乎觉得我说得不错,让我说说我的博客。

:很开心的向他介绍起整个搭建的过程,并且积极地为Indigo的主题发Issue,解决Bug。

面试官:使用的是Android Studio对吧(因为简历上写了擅长使用Android Studio),以前用过Eclipse吗?

:对这方面有很深的体会,因为一开始使用Eclipse很成熟的时候,发现现在很多开发者都是使用AS,但是自己电脑配置又跟不上,并且因为天朝的关系,编译速度巨慢,Gradle的下载就是隔靴搔痒,但是为了解决这一系列的问题,自己读了很多文章,并且看了一本十分不错的书《Android Studio实战 快速、高效地构建Android应用》,向其介绍起书上的内容。

面试官:很满意的看着我,问我平常逛什么网站。

:平时喜欢逛Github,并且喜欢网络红人[代码家],订阅了邮箱推送,每天会推送一些Github的优秀项目,所以会Fork别人的好项目,另外的话喜欢看[Android的中文开发者网站],还向面试官表达了Google推出中文开发者网站的时候自己激动的心情,他很理解的点点头表示赞同。

面试官:绩点很高哦(6/175),有没有想过要考研啊?

:跟面试官聊到后来,感觉他都不想问我技术问题了,于是就有点开始得瑟起来,也有点High,这点可能是二面被刷的一个原因吧。于是就说自己对考研兴趣不大,自己更想在兴趣方面(Android开发)有所发展,想早点有立足之地。

面试官:习惯性的还是点点头,可能心里觉得我这个人不太靠谱吧!接着问,如果公司给你提供实习机会,同时学校给你提供保研机会,那你会怎么选择?

:当然会选择来腾讯实习,因为对考研兴趣不大,想尽快抱住腾讯爸爸的大腿,结交更多的良师益友,让自己更加强大。(现在想起来,觉得回答的有点单薄,也有点让人觉得自己势力心很强,唉😴)

面试官:什么时候可以来实习呢?可以实习多久?

:我在官网的招聘信息中看到,官方要求是6月8月,我说6月已经学期结束了,我可以随时到公司实习,实习时间23个月都是可以的,听从公司的安排。

面试官:点点头,似乎没什么问题想问了,就问我有什么问题想问我的吗?

:跟一面一样,我想请面试官评价一下我此次的面试。谢谢!

面试官:说了我的一些好话,什么学习成绩优秀,有项目经验,经常写博客,说要我继续保持下去,如果有下一轮的话,会安排领导的面试和一轮HR的面试,说了很多。

:心想面试官觉得我还是不错的,不过实际上是不是这样觉得的我就不得而知了,有可能面试官只是不想打击我而已😂。

面试官:还有什么问题吗?

:愣了一下,心想为什么面试官为什么一直要问我问题?也就没想太多,随便说,我想请问一下面试官在腾讯工作了这么多年了有什么感受吗?

面试官:很慷慨的向我描述他在腾讯的一些经历和感悟,具体的就不方便写出来了。最后还继续问我,还有什么问题想问我的吗?

:很尴尬的笑了笑,觉得面试官很想我问他问题欸,不过自己实在没有准备其他问题,就说大概就是这两个问题了,谢谢面试官。(现在想想,面试官是在试探我吧,看看我有没有胆量问他问题,因为大部分学生都是处于比较怯场的状态,只会问一些比较平常的问题,既然面试官这么坚要我问他问题,那就是想考验我与其他人有没有不同的地方啊,唉,怪自己太年轻!)

最后面试官说:“那我把你的简历留下咯!” 我很开心的说好的,非常感谢面试官对我的面试,深深鞠躬然后离开。回到学校之后一直在等待三面的通知,以为会像一面一样晚上8点多发短信通知,但是直到第二天中午还是没有消息,自己还是很着急的。第二天下午上课的时候查了一下简历的状态,显示自己的此次面试已经结束了。

总结

================================================================

得知自己错过三面的时候突然间觉得有点懵和失望,不过也还是接受了这个结果。可能是二面的时候自己有一些表达上面需要更加斟酌,并且在向面试官提问上面需要更加大胆一点吧!主要有下面几点吧:

  • 更加深厚的底子,同等实力看学校,同等水平看颜值(微笑脸,自己两者都沾不到边)。
  • 面试过程中需要更加沉稳,好好回答每个问题,不能够轻浮。越简单的问题越应该引起注意,而不是自我感觉良好,整个人要飘起来了。
  • 多发挥自己的优势(我的话是博客可能写的好一点,当然说自己的优势时不要太得瑟!切忌!)。
  • 面试官想你问他问题的时候,应该表现得跟其他面试者不一样,记住每个问题都是展现自己与众不同的机会,好好把握。
  • 不要因为一次的失败就停滞不前,可以不开心一阵,但是要重整旗鼓,对下次面试发起挑战!

推荐

================================================================

我想向大家推荐一下一个非计算机专业的学生是如何自学Android的,不过这仅仅代表我个人的学习方式,绝不是最好的。

学习资料


  • [学习路线]

其他需要,也可以在我的 Github 上查看

书籍


  • 《第一行代码》(第二版)
  • 《Android编程权威指南》(第2版)
  • 《App研发录》

总结

笔者之前工作是在金融公司可能并不是特别追求技术,而笔者又是喜欢追求技术的人,所以格格不入,只能把目标放在互联网大厂了。也希望大家都去敢于尝试和追逐自己的梦想!
BATJ大厂Android高频面试题

觉得有收获的记得点赞,关注+收藏哦!你们的点赞就是我的动力!
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!
。也希望大家都去敢于尝试和追逐自己的梦想!
BATJ大厂Android高频面试题

[外链图片转存中…(img-cAgJVtJ3-1714942177879)]

[外链图片转存中…(img-c8OajqYD-1714942177881)]

[外链图片转存中…(img-TYZd3p0F-1714942177883)]

[外链图片转存中…(img-6vMMdsDf-1714942177885)]

觉得有收获的记得点赞,关注+收藏哦!你们的点赞就是我的动力!
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!

  • 27
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值