在博主认为,对于Android面试以及进阶的最佳学习方法莫过于刷题+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现面试并不难,其次就是在刷题的过程中有没有去思考,刷题只是次之,这又是一个层次了,这里暂时不提后面再谈。
博主总结了一系列大厂面试中常问的面试技术点,深入解析以及答案,将为最近准备面试的各开发者去大厂保驾护航,
何谓面试? 博主所理解的面试,它是一个过程,是不断沉淀、不断总结、善于传达自己的专业领域技术以及解决问题能力的过程。以下是博主总结的一些面试题,文中如有错误,恳请批评指正!
小嘉投简历是从7月12号开始的,大概投了十几家公司,最早的是京东,不过没有给面试机会,后来做了笔试,也没得到京东的面试。第一家面的是深信服,两面基本全问的网络,网络学的并不好,也就没后文了。笔试的话做了好几家,拼多多凉,cvte凉,多益网络凉。贝壳和有道是最先给面试机会的。
8月25贝壳北京现场面。现场面试体验是一个超级大房间,一堆人在里面面试,一面大概40分钟,面完一面等了一个小时,二面30分钟左右,二面完很快就三面了。贝壳给我的感觉就是效率特别高,面试结果8月30号就知道了,报销也很快就到了。
9月开始基本上没投简历了,7月中旬开始到8月投的有十几家,快手和顺丰直接被刷了,后来的笔试也没给机会做。百度投了,9月多做的笔试,现在还是没有消息,状态显示笔试通过。阿里和腾讯一开始都不敢投,毕竟知道自己很菜,投的太晚了估计,腾讯没给面试机会,阿里一面全问的cs基础,可以说把大学学的问了一遍,也没后文了。投了头条和美团,滴滴开始的晚,没关注到,头条和美团拿到offer了,感觉他们比较缺安卓。
但是有一个要注意的地方是面试官问你问题的时候不要有背的痕迹,要多带一些自己的思考和理解,比如一个常见的面试题:讲一讲java抽象类和接口。当然讲的不是很好,但是要给面试官你有自己的思考的过程,小嘉一般是这样回答:抽象类其实和普通类很像,只是多了一个abstract修饰,可以拥有抽象方法;而接口不一样,它的设计理念是为了完成某一种功能或者定义一种规范,所以它只有public的方法并且没有成员变量,balaba。这样比条条目目地讲区别会好一些。
安卓的知识模块主要分几个部分:javase基础,java虚拟机(可以顺便了解下安卓上的虚拟机),java多线程,安卓基础,开源框架,计算机网络(主要是TCP/IP,HTTP,HTTPS),然后就是很重要的算法和数据结构了。
还有最后一个要提的就是秋招尽早准备,多关注招聘动态,要尽可能早投。
作者2013年从java开发,转做Android开发,在小厂待过,也去过华为,OPPO等大厂待过,18年四月份进了阿里一直到现在。
参与过不少面试,也当面试官 面试过很多人。深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长,而且极易碰到天花板技术停滞不前!
我整理了一份阿里P7级别的最系统的Android开发主流技术,特别适合有3-5年以上经验的小伙伴深入学习提升。
主要包括阿里,以及字节跳动,腾讯,华为,小米,等一线互联网公司主流架构技术。如果你想深入系统学习Android开发,成为一名合格的高级工程师,可以收藏一下这些Android进阶技术选型
我搜集整理过这几年阿里,以及腾讯,字节跳动,华为,小米等公司的面试题,把面试的要求和技术点梳理成一份大而全的“ Android架构师”面试 Xmind(实际上比预期多花了不少精力),包含知识脉络 + 分支细节。
Java语言与原理;
大厂,小厂。Android面试先看你熟不熟悉Java语言
高级UI与自定义view;
自定义view,Android开发的基本功。
性能调优;
数据结构算法,设计模式。都是这里面的关键基础和重点需要熟练的。
NDK开发;
未来的方向,高薪必会。
前沿技术;
组件化,热升级,热修复,框架设计
网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。
我在搭建这些技术框架的时候,还整理了系统的高级进阶教程,会比自己碎片化学习效果强太多,GitHub可见;《Android架构视频+学习笔记》
当然,想要深入学习并掌握这些能力,并不简单。关于如何学习,做程序员这一行什么工作强度大家都懂,但是不管工作多忙,每周也要雷打不动的抽出 2 小时用来学习。
能力,并不简单。关于如何学习,做程序员这一行什么工作强度大家都懂,但是不管工作多忙,每周也要雷打不动的抽出 2 小时用来学习。
不出半年,你就能看出变化!