当前位置:网站首页>受益匪浅,安卓面试问题

受益匪浅,安卓面试问题

2022-07-06 11:18:00 InfoQ

主要说一下个人经历,希望能给即将面试的小伙伴一些有效信息。大家都要加油~

基本情况

先说一下个人基本情况,计算机科学与技术专业。主要学的Android开发,所以投的岗位都是Android开发工程师。投了知乎,内推了阿里蘑菇街腾讯百度网易。腾讯百度都没有收到面试,知乎Skype面试,蘑菇街阿里电话面试,网易现场面。知乎二面被拒,蘑菇街阿里一面被拒,网易三面,然后备胎了,前几天被通知过了,收到了offer。自己整理了一下被问到的问题,现在分享给大家,另外自己整理的一下资料也会发给大家,希望能帮助到各位求职的小伙伴。

公司的需求

不同的公司,不同的需求现在的市场上,公司很多,大致上可以归纳为两个大类:大公司和小公司,他们招聘时对人才的需求也不一样。
小公司
小公司他们一般急需的是能够投入工作的人才,因为公司规模小,急需盈利扩张,需要 
《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》无偿开源 徽信搜索公众号【编程进阶路】
 投入工作生产,所以他们更加注重实践能力。一般情况,小公司面试比较集中安卓开发这一块,他们会比较注意你之前有没有做过类似的项目,或者是相似的工作经验,以及有没有遇到过他们所遇到的某些问题。准备这些公司的面试,除了一些基本基础知识点还需要关注安卓开发实际中经常遇到的一些问题,比如缓存,常见的开源框架问题等。
大公司
相对于那些才起步,或者起步不久的小公司,大公司已经有了比较深厚的资源积累,体系制度也比较完善了,他们更注重人才的综合能力还有未来发展潜力。

在面试中,大公司会提的差不多就是数据结构与算法,计算机网络,操作系统,Java这些。在这些点中,数据结构与算法应该是一个分水岭,这个问题的准备需要长时间的积累,临时抱佛脚可能有些困难,是骡子是马,拉出来遛一遛就知道了,是不是高手一试就知。

所以,很多公司都执于考算法,比如百度、美团,淘宝这些公司。整个面试下来可能让你手写5个算法题以上。这点主要是想告诉大家,这个门槛差不多决定了你最终所找工作的水准,所以我都会建议每一个找程序员相关工作的人,尽早准备这方面。比如多刷一些leetcode或是其他类似的题。

然后在剩下的几块知识中,我只想说你可以不用全部都懂,但是你必须要在某一块知识点是有深入研究的,能够回答面试官4到5个追加问题,“T”型知识结构的人才很吃香。如果所有知识点都只能答上一到两个,面试官会觉得你的水平就是这样了,还会觉得你没有探究精神。这个判定结果是很恐怖的,因为一个没有探究精神的人是做不了好的程序员的。

我觉得面试安卓的知识点按照重要程度可以做一个这样的排序:
1.数据结构与算法2.java ,Android3.计算机网络4.操作系统5.数据库或是设计模式之类

java
这一块,比较重要的是多线程同步异步,java虚拟机内存回收,容器,面向对象这些知识点。就单单是多线程和虚拟机都可以看好几本专门讲解的书了,其他知识点就多啃啃java编程思想,遇到不懂在多翻翻博客加深理解。

Android
这一块,异步机制,view的绘制,自定义控件,四大组件都非常重要。不管是android或是java都最好看一些源码,java可以看一些容器的源码,android可以看handler,looper,message等异步通信的源码或是一些开源框架的源码,会看源码绝对是加分项。

计算机网络
可以注重看上面几层,传输层注重研究。一般来说,前面这几点掌握好了,足以聊好几轮面试,一般面试官你都可以引导他去聊一些你擅长的知识点。后面几块知识点,你可以先掌握一些比较重要的,不一定每次面试都会遇到,但是也得准备。

##上面是提供一些大概的思路,下面具体说一下每一块的知识点

一、数据结构与算法

推荐书籍:大话数据结构,数据结构与算法分析(java语言描述),剑指offer,进军硅谷。

推荐在线刷题网站:Leetcode

推荐方案:主要做三件事

1, 先看一遍大话数据结构,熟悉一些基本概念,大话这本书只讲了一些基本的数据结构,像是B树,B+树,红黑树需要自己看一些博客或是网站,推荐一个讲解算法的网站-七月算法,另外海量数据处理也是一个经常考的专题,它结合了数据结构和操作系统的一些知识,这个需要进行针对性准备。

2,然后开始刷题,最推荐的肯定是leetcode,刷题建议按照标签进行刷题(比如队列,栈,哈希表),刷题从易到难,最好能够刷一百题左右,如果一天一题,至少要三个月以上,所以这个耗时比较长,要从比较早开始准备。进军硅谷这本书有按照专题进行编排,基本上的题目来自leetcode,可以作为一个参考。

2, 然后要分析一些常见数据结构的源码实现(比如队列,栈,hashmap之类的),数据结构与算法分析这本书有讲一些,可以结合一些博客进行准备。

学习宝典

对我们开发者来说,
一定要打好基础,随时准备战斗
。不论寒冬是否到来,都要
把自己的技术做精做深
。虽然目前移动端的招聘量确实变少了,但中高端的职位还是很多的,这说明行业只是变得成熟规范起来了。竞争越激烈,产品质量与留存就变得更加重要,我们进入了技术赋能业务的时代。

不论遇到什么困难,都不应该成为我们放弃的理由!

很多人在刚接触这个行业的时候或者是在遇到瓶颈期的时候,总会遇到一些问题,比如学了一段时间感觉没有方向感,不知道该从那里入手去学习,对此我针对Android程序员,我这边给大家整理了一套
学习宝典
!包括不限于高级UI、性能优化、移动架构师、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter等全方面的Android进阶实践技术;希望能帮助到大家,也节省大家在网上搜索资料的时间来学习,也可以分享动态给身边好友一起学习!

【Android核心高级技术PDF文档,BAT大厂面试真题解析】

null
【算法合集】

null
【延伸Android必备知识点】

null
【Android部分高级架构视频学习资源】
原网站

版权声明
本文为[InfoQ]所创,转载请带上原文链接,感谢
https://xie.infoq.cn/article/5cf60295b415a38f0f97f8b98