笔者:蒋志碧,菜鸟窝电商app开发大赛冠军
Android 市场饱和,工作难找,不管你混哪个技术圈,多多少少会听到这样的看法。我的本专业是软件开发工程,职业规划是做 Android 开发,曾经因为这样的说法而感到迷茫和担忧。
历经周折,今年八月,我顺利拿到了 Teambition 的 Android 架构实习offer。兴奋之余静心写下了面试心得,希望给每个正在找工作的朋友一点帮助。
★失落了也不要停下前行的脚步
我从7月1日学校放假开始,就在重庆这座城市跑了几次面试,但没有拿到自己满意的面试邀请,内心一直比较失落。那段时间,我坚持一边学习一边查看各种求职信息、面经,关注各种实习公众号,为下一次面试做准备。
然而找工作还是没有进展。
★看完 Teambition 的宣传片,
我便下定决心成为其中一员
8月11日,我在拉勾上看了 Teambition 的宣传片,被他们的团队协作产品吸引了。
(Teambition 的宣传片)
于是抱着试试的心态投了简历。收到面试邀请的电话后,我又慌又紧张。
那时距离协商的电话面试时间还有两天半,我立马请教了好友吴威龙(同是菜鸟窝学员及大三求职狗),他认为我简历中罗列的技能太多,会被问死。
我又去网上询问已经工作的同行大佬,了解面试情况。因为大家都不是面试官,收到的就只有鼓励。
我心里很慌的,但是没办法,硬着头皮去复习知识点是唯一成功的可能。于是开始了疯狂的复习计划。周末两天都是早上5点半起来开始把技能点一个个过滤,每复习完一个,就记录一下。
(当时复习的专业技能表)
★一次模拟面试点醒了我
复习时在上看到 Even 老师的模拟面试不错,就去报了名。
45分钟的模拟面试里, Even 老师从自我介绍、专业技能和专业知识三方面对我进行提问。说实话,我犯了两个错误,自我介绍时连说话都打结;已经忘了简历项目中互联网创新大赛的具体情况。其实就是没有做好面试准备。
Even 当时给我提了六点建议:
•自我介绍控制在2分钟以内,而且要将你要传达给面试官的信息全部包含。注意展现语言组织能力以及表达能力。
•如果有团队项目,描述清楚你在团队担任什么角色?做的是什么?有什么收获?遇到的困难是什么以及如何解决这些困难?在面试之前需要详细地整理项目参与的细节,因为这将会是一个很重要的环节。面试官看重的是你的团队协作能力以及解决问题能力,当然也包括自学能力。
•针对个人项目,你一定要对项目的细节足够清晰,包括项目使用的框架,涉及到的知识点,你收获了什么?遇到的困难是什么?把解决问题的能力展现出来。
•面前准备要思考公司为什么招我?我身上有什么亮点值得公司去培养?
•对简历中的专业技能要很熟练,做到马上问你都能立马回答出来,而且思路要清晰。
•做到这些,那就开始一遍一遍的复习基础知识吧,面试 Android 主要是 Android 基础,java 少量涉及,如果面试官觉得你能力可以,会在最后问到算法题和数据结构。
★一小时的电面拿到了offer
8 月 14 日 14:00,在焦急的等待中,我迎来了 Teambition 的面试电话,没有任何的前奏,也没有做自我介绍,直截了当地就进入了专业技能的面试环节。
1.项目经历中提到的全国互联网创新大赛,比赛内容是什么,担任什么职位,涉及到哪些技术,和团队成员如何分配任务?
答:当时比赛项目是软硬件模块结合,单片机模块有蓝牙和 WiFi 通信,温湿度传感器,空气质量检测和人体检测等。
我是队长,收到比赛通知就联系小伙伴,根据他们的特长分配任务。懂硬件的队员分析单片机指令的收发,另外一个伙伴研究模块的文档,我负责客户端代码的编写。比赛要现场2小时内完成4道题目,其实在我现在看来难度不大,但那时我和队员花了足足三个月时间去研究。刚学习的时候什么都不懂,我们团队三人开始研究比赛规则,思考如何快速掌握技能。
(比赛是考核参赛人员的基础知识是否扎实,对模块代码是否熟悉,能够在变动的题目中迅速反应过来并实现功能。在和面试官的交流中,我把这些方面都强调了一遍,他也大致了解了项目是如何进行的,我们如何分配以及如何解决问题。)
2.在菜鸟窝学习菜鸟直播项目,项目要实现什么功能?做项目有什么收获?遇到什么困难以及如何解决?
答:菜鸟直播是一个项目教程,仿映客直播 APP ,我负责将教程内容输出成博客。简历中有项目文章的 Github 地址和博客地址。为了这个项目,看了很多腾讯云文档,学会封装很多库,用到了 MVP 框架和网络请求框架。
(中间还细问了对 MVP 架构的理解, MVP 三层如何工作,和 MVC 有什么区别,最后是 Rxjava 的操作符,线程切换、用途以及与 OKhttp 的区别。)
接下来是提问 android 的基础知识:
•View 的绘制包含哪些阶段? MeasureSpec 的三个模式是什么?
•对触摸事件的认识,事件冲突的理解,父控件拦截到事件之后,子控件还会有机会有消费触摸事件吗?滑动冲突的原因?
•Android 异步任务有哪些方式?Handler 的工作原理?在子线程中是否可以创建 Handler ?
•解释Android 中的四大启动模式以及 SingleTask 和 SingleTop 的区别,如何指定 Activity 在某一个任务栈中?
•Android 进程中的通信方式?
•java 的集合框架? ArrayList 和 LinkedList 的区别?
•HashSet 的内部存储? set 的存储方式?
•如何解决多线程访问共享对象问题?多线程实现同步的方式?
•synchronized 如何使用,修饰哪些东西?修饰方法和修饰类的区别?
•设计模式的了解?
•java 中的引用方式以及弱引用和软引用的区别?软引用和弱引用使用场景?
•是否使用过 SQL ?
•Http 协议的理解?网络请求有哪几种方式?
•Json 解析?
•Git 版本控制?
•开发 Android 使用的什么开发工具?对 Gradle 的了解?
紧接着了解个人想法:
•举例子谈团队合作?
•对技术方面有什么期待或者偏向于哪方面?
•如何了解到 Teambition ?为什么要投递Teambition?
•什么时候到岗?什么时候能去实习?是否了解单元测试?
面试官的评价:在实习生中技术还算可以,沟通方面也ok 。
整个面试从开始到发 Offer,只用了4小时左右,我惊叹于 Teambition 的执行效率,真的是很幸运。
过后我把面试的录音回放了一次并总结了一些经验:
•和面试官沟通要放轻松,有自信。
这方面说易做难,所以要准备得足够充分。简历上所有知识点要复习三遍以上,不熟悉的更要当重点去学。java 基础,android 基础,算法,数据结构都要看。电话面试,算法和数据结构涉及较少,当场面试一定会问到。自我介绍、项目经验等方面都要事先组织好语言,做到对答如流。
•面试官会根据简历内容提问,但是面试中涉及的全是基础知识。
因而只要是简历上写的专业技能,必须会,不是很熟悉的不要写上去,这样是打自己脸。比如,简历上有博客地址,那么博客中的知识点必问,面试官会根据你的熟悉程度,判断你的知识点掌握程度。还有简历中提到的项目,它的开发流程,用到的知识点和框架,学到了什么,如何解决问题,这些都要回答详细。
•面试官只要肯试探就知道我们的程度,所以不要不懂装懂,存侥幸心理。
遇到不会的问题,不要慌张。有两种回答方式,一是坦诚说不会,二是换个思路,比如要答对 Gradle 的认识,不懂专业术语就举平时用到的例子。
★我的良师益友
还在上初中的我,跟着爸妈出去做生意,尝到了他们工作的不易,想要靠自己的努力走出小地方,有能力让父母过上轻松的日子。后来独自到重庆求学。
四年大学,一晃如烟。
两年前,在学菜鸟商城的时候,认识了一个搞 Android 开发的大四男生刘强。和他相处久了,我谈到自己从来不看书,他便给我列举了看书的很多好处。听从他的意见后,我从大三下学期开始培养看博客学习和看书的好习惯。
就在那时候迷上了张哥的 Android技术分享公号。不管多忙,他的每篇推文必看。自己的见识和知识面也拓展了很多,对未来的定位越来越清晰,有了勇气与信心去上海这个竞争压力大的城市闯荡。
也是大三这一年,我在学习《菜鸟直播》课程的时候认识了吴威龙。当时,一直听说 android 行情不好。和我同届的他能拿到面试邀请,给了我很多信心。这让我更加努力地学习Android,上课时间看Android开发艺术探索,下课有空看菜鸟直播项目,定期在菜鸟窝官网推送博客,历时一学期,推送博客四十篇。
之后遇到困惑都会去请教他,在和他交流中变得自信,不再因Android行情不好而惧怕退缩。
两年前,我的老师** Ivan**指出我身上的缺点之后,说很看好我,希望我不要让他失望。我就傻傻地一直记着这句话。因为Ivan老师带我入门Android,教我学习方法,锻炼我的自学能力。每次迷茫或不知道如何选择的时候,他会根据我的情况分析,给我建议,鼓励我,让我的大学不再没有目标。
所以在拿到我的第一份实习offer时,我希望能第一时间告诉他这个好消息。
★为了学好技术,我们要走好每一步
当被小编问起有什么想要分享给同样努力学Android的小伙伴时,我想认真地说几点。
•基础很重要,学技术尤其不能心急。
基础扎实了,才会走得更远,就像扎地基一样,地基扎得牢固,房子才会建的又快又好;如果地基没扎好,那么你还要花时间去修补,浪费时间,房子很可能会塌。
•持续学习和具备自学能力都很重要。
只有持续不断的学习,才会在互联网社会中生存下去。养成自学能力会一生受用,遇到问题首先自己解决,这会让你成长很多。
•多维度发展自己,不仅仅局限于程序。
理财,思维,商机,时间管理,学习工具,办事效率等方面也需要认真学习并且实践,学习过程中你会遇到更多的牛人,带你走近不同的世界。
•多读书。
看书会增长你的见识,会让你整个人的思维提升一个高度,一个人的思维高度决定一个人能走多远。
•生活不能被工作占满,还要有梦想支撑。
一步一步朝着梦想的方向前进,这是很开心快乐的事情。也许你会遇到困难,会想要放弃,当你抬头想起梦想的蓝图,你又会爬起来继续前行。
最后想说,不管你成为怎样的人,都要学会感恩。
继续阅读>>
源码推荐:仿淘宝客户端的实战App
欢迎后台留言分享求职记
识别下方二维码,添加菜鸟窝运营微信为好友,备注【商城】或【直播】,进入交流群与面经分享者蒋志碧小姐姐交流。
识别下方二维码关注菜鸟窝官网,免费领取“140套开源项目”