通过某知名网站搜集网友分享Android开发面经,很多Android开发者大都遇到了这些问题:
1. 现在安卓的形势,很多人都说不行了,我刚入行没多久是不是要跑路了呀?
2. 我是双非/三本/专科学校的,我有机会进入大厂吗?
3. 非计算机专业的学生能学好吗?
4. 如何学习Android?
5. Android学习该学哪些东西?
6. 我该如何准备Android面试?
7. 面试的简历准备注意事项有哪些呢?
8. 没有项目经历/博客/Github开源项目怎么办?
9. 大厂到底青睐什么样的应届生?
10. 如果面试官问你“你有什么问题问我吗?”时,你该如何回答?
下面我们一一回答这些方面的问题。我会根据自己的一点经验对大部分人关心的这些问题进行答疑解惑。
现在又刚好赶上年末,这篇文章也算是给2020春招准备往Android方向发展的朋友们指明一条学习之路。道理懂了如果没有实际行动,那这篇文章对你或许没有任何意义。
(1)Android开发前景?
我们通过智联招聘、拉勾网、Boss直聘、前程无忧发布的移动互联网招聘岗位需求发现:移动端的招聘量变少,但中高端的职位却多了起来,这说明行业只是变得成熟规范起来了。竞争激烈,但产品质量与留存更加重要,我们进入了技术赋能业务的时代。大前端正在跨平台,移动开发者的未来更可能是跨终端,产品、运营、数据分析、后端,技多不压身。
(2)我是双非/三本/专科学校的,我有机会进入大厂吗?
我自己也是非985非211学校的,结合自己的经历以及一些朋友的经历,我觉得让我回答这个问题再好不过。 首先,我觉得学校歧视很正常,真的太正常了,如果要抱怨的话,你只能抱怨自己没有进入名校。
但是,千万不要动不动说自己学校差,动不动拿自己学校当做自己进不了大厂的借口,学历只是筛选简历的很多标准中的一个而已,如果你够优秀,简历够丰富,你也一样可以和名校同学一起同台竞争。 企业HR肯定是更喜欢高学历的人,毕竟985、211优秀人才比例肯定比普通学校高很多,HR团队肯定会优先在这些学校里选。这就好比相亲,你是愿意在很多优秀的人中选一个优秀的,还是愿意在很多普通的人中选一个优秀的呢?
双非本科甚至是二本、三本甚至是专科的同学也有很多进入大厂的,不过比率相比于名校的低很多而已。从大厂招聘的结果上看,高学历人才的数量占据大头,那些成功进入BAT、美团,京东,网易等大厂的双非本科甚至是二本、三本甚至是专科的同学往往是因为具备丰富的项目经历或者在某个含金量比较高的竞赛比如ACM中取得了不错的成绩。
一部分学历不突出但能力出众的面试者能够进入大厂并不是说明学历不重要,而是学历的软肋能够通过其他的优势来弥补。
所以,如果你的学校不够好而你自己又想去大厂的话,建议你可以从这几点来做:
- 尽量在面试前最好有一个可以拿的出手的项目;
- 有实习条件的话,尽早出去实习,实习经历也会是你的简历的一个亮点(有能力在大厂实习最佳!);
- 参加一些含金量比较高的比赛,拿不拿得到名次没关系,重在锻炼。
(3)非计算机专业的学生能学好Android吗?我能进大厂吗?
当然可以!现在非科班的程序员很多,很大一部分原因是互联网行业的工资比较高。我们学校外面的培训班里面90%都是非科班,我觉得他们很多人学的都还不错。 另外,我的一个朋友本科是机械专业,大一开始自学安卓,技术贼溜,在我看来他比大部分本科是计算机的同学学的还要好。参考(2)的回答,即使你是非科班程序员,如果你想进入大厂的话,你也可以通过自己的其他优势来弥补。 我觉得我们不应该因为自己的专业给自己划界限或者贴标签,说实话,很多科班的同学可能并不如你,你以为科班的同学就会认真听讲吗?还不是几乎全靠自己课下自学!不过如果你是非科班的话,你想要学好,那么注定就要舍弃自己本专业的一些学习时间,这是无可厚非的。 建议非科班的同学,首先要打好计算机基础知识基础:①计算机网络、②操作系统、③数据机构与算法,我个人觉得这3个对你最重要。这些东西就像是内功,对你以后的长远发展非常有用。当然,如果你想要进大厂的话,这些知识也是一定会被问到的。另外,“一定学好数据结构与算法!一定学好数据结构与算法!一定学好数据结构与算法!”,重要的东西说3遍。
(4)Android学习该学哪些东西?
- 掌握架构师筑基必备技能
- 掌握Android框架体系架构
- 学会360°全方位性能调优
- 通过设计思想解读开源框架
- 学习NDK模块开发
- 通过实战炼成移动架构师
- 学会开发微信小程序
- 掌握hybrid开发与Flutter
Android架构进阶学习资料下载地址:Android高级进阶视频、面试真题解析免费分享
(5)我没有实习经历的话找工作是不是特别艰难?
没有实习经历没关系,只要你有拿得出手的项目或者大赛经历的话,你依然有可能拿到大厂的 offer 。笔主当时找工作的时候就没有实习经历以及大赛获奖经历,单纯就是凭借自己的项目经验撑起了整个面试。 如果你既没有实习经历,又没有拿得出手的项目或者大赛经历的话,我觉得在简历关,除非你有其他特别的亮点,不然,你应该就会被刷。
(6)我该如何准备Android面试呢?
面试刷题
Android基础知识
- Activity
- Service
- Broadcast
- Receiver
- ContentProvider
- Intent
- Fragment
Java面试题
- Java基础
- Java中的设计模式
Android 高级
- Android性能优化
- Android屏幕适配
- AIDL
- Android中的事件处理
- Android中的动画
- ContentObserver
- 内容观察者作用及特点
项目框架的使用
- 自我介绍
- 开发中都使用过哪些框架、平台
- 都使用过哪些自定义控件
- 项目的流程
- 项目中常见的问题
- 即时通讯是是怎么做的
- 常见框架分析
Flutter相关面试题全解析
- Dart部份
- Flutter 部份
腾讯、阿里、百度、美团、字节跳动、京东等)Android高频面试真题集锦
Android架构师精编面试解析免费下载:2019年BATHM中高级面试题答案解析免费分享
(7)面试的简历准备注意事项有哪些呢? 下面是我总结的一些准备面试的Tips以及面试必备的注意事项:
简历
简历的重要性就不言而喻了,怎么样写好简历是个技术活,当然如果你有很好的背景(学校或者公司),那么不管你怎么写,基本上都不刷掉你,我们作为一般的人还是需要下一番功夫的。拿我的简历作为例子,大概有以下几个部分:
- 个人信息:姓名、出生日期、教育背景、博客地址、github地址、联系方式(手机、邮箱和微信号)
- 工作经历:毕业后待过哪些公司,一般是倒序,项目尽量精简明了,可以参考SMART原则
- 专业技能:自己熟悉的一些技能,这个为什么我写到最后,因为对于工作三年的同学来说,面试官更加注重的是你的项目经历,大部分面试都是看你的项目经历来提问。
怎样写简历,这个开源网站不错,教你怎么写简历,而且有一个在线markdown在线网站,可以导出pdf。
简历投递注意事项
一般HR都会集中处理简历,正序或者倒序都有可能,所以选择最合适的时间段去投递就好。
总体上来说,比较推荐的时间段就是周二至周四,上午9点以后。
除了投递时间之外,还有一些注意事项可以提高你的简历被阅读率:
1.尽量选择HR邮箱直投:不论是哪个招聘网站,整体的回复速度都要低于HR直投邮箱,大部分HR打开自己邮箱的频率也要高于其他招聘类网站。 2.邮箱实名:最好将发件人改为自己的名字,可以让HR一眼就看到,而不是乱七八糟的其他内容,不仅看起来更加整洁,也可以增加印象。 3.邮件名称固定格式:如果企业方有要求,要严格按照企业方的要求来,如果没有,应届生建议“姓名+学校+专业+应聘岗位+最快到岗时间(尤其是标注尽快到岗)”,言简意赅。 4.正文不要空着,记得添加附件.pdf:有些HR习惯下载一段时间内的所有简历附件,然后一起查看,如果你没有附件会直接被忽略,pdf是为了避免简历跑版的重要措施;也有些HR更倾向于一封邮件一封邮件地查看,这时正文如果有内容就会更加直接,正文和附件都有,双重保障。
不要认为一些小细节不重要~投递简历的很多小细节会决定第一印象的,看到一封简洁、信息明确的邮件,HR第一反应都会是“WOW,这个不错/还行,让我看看”
(8)没有项目经历/博客/Github开源项目怎么办?
从现在开始做!网上有很多非常不错的项目视频,你就跟着一步一步做,不光要做,还要改进,改善。另外,如果你的老师有相关 Java 后台项目的话,你也可以主动申请参与进来。
如果有自己的博客,也算是简历上的一个亮点。建议可以在掘金、Segmentfault、CSDN、知乎等技术交流社区写博客,当然,你也可以自己搭建一个博客(采用 Hexo+Githu Pages 搭建非常简单)。写一些什么?学习笔记、实战内容、读书笔记等等都可以。多用 Github,用好 Github,上传自己不错的项目,写好 readme 文档,在其他技术社区做好宣传。相信你也会收获一个不错的开源项目!
(9)大厂到底青睐什么样的应届生?
从阿里、腾讯等大厂招聘官网对于Java后端方向/后端方向的应届实习生的要求,我们大概可以总结归纳出下面这 4 点能给简历增加很多分数:
- 参加过竞赛(含金量超高的是ACM);
- 对数据结构与算法非常熟练;
- 参与过实际项目(比如学校网站);
- 参与过某个知名的开源项目或者自己的某个开源项目很不错;
(10)有哪些有价值的问题值得问?
针对这个问题。笔主专门找了几个专门做HR工作的小哥哥小姐姐们询问并且查阅了挺多前辈们的回答,然后结合自己的实际经历,我概括了下面几个比较适合问的问题。
面对HR或者其他Level比较低的面试官时
- 能不能谈谈你作为一个公司老员工对公司的感受? (这个问题比较容易回答,不会让面试官陷入无话可说的尴尬境地。另外,从面试官的回答中你可以加深对这个公司的了解,让你更加清楚这个公司到底是不是你想的那样或者说你是否能适应这个公司的文化。除此之外,这样的问题在某种程度上还可以拉进你与面试官的距离。)
- 能不能问一下,你当时因为什么原因选择加入这家公司的呢或者说这家公司有哪些地方吸引你?有什么地方你觉得还不太好或者可以继续完善吗? (类似第一个问题,都是问面试官个人对于公司的看法。)
- 我觉得我这次表现的不是太好,你有什么建议或者评价给我吗?(这个是我常问的。我觉得说自己表现不好只是这个语境需要这样来说,这样可以显的你比较谦虚好学上进。)
- 接下来我会有一段空档期,有什么值得注意或者建议学习的吗? (体现出你对工作比较上心,自助学习意识比较强。)
- 这个岗位为什么还在招人? (岗位真实性和价值咨询)
- 大概什么时候能给我回复呢? (终面的时候,如果面试官没有说的话,可以问一下)
面对部门领导
- 部门的主要人员分配以及对应的主要工作能简单介绍一下吗?
- 未来如果我要加入这个团队,你对我的期望是什么? (部门领导一般情况下是你的直属上级了,你以后和他打交道的机会应该是最多的。你问这个问题,会让他感觉你是一个对他的部门比较上心,比较有团体意识,并且愿意倾听的候选人。)
- 公司对新入职的员工的培养机制是什么样的呢? (正规的公司一般都有培养机制,提前问一下是对你自己的负责也会显的你比较上心)
- 以您来看,这个岗位未来在公司内部的发展如何? (在我看来,问这个问题也是对你自己的负责吧,谁不想发展前景更好的岗位呢?)
- 团队现在面临的最大挑战是什么? (这样的问题不会暴露你对公司的不了解,并且也能让你对未来工作的挑战或困难有一个提前的预期。)
面对Level比较高的(比如总裁,老板)
- 贵公司的发展目标和方向是什么? (看下公司的发展是否满足自己的期望)
- 与同行业的竞争者相比,贵公司的核心竞争优势在什么地方? (充分了解自己的优势和劣势)
- 公司现在面临的最大挑战是什么?
最后
感谢大家能耐着性子,看完这篇文章,以上仅是个人的观点。但要记住的是,学习是不能落下的,因为时代在进步,技术在更新,只有更新了自己的知识库,才不会被行业所淘汰。
以上所整理的学习文档均可以分享给大家,共勉!
直接(点击我)免费获取哦!
分享不易 喜欢本文的别忘了关注+点赞喔