首页 > 代码库 > android面试感言

android面试感言

面试了几乎所有国内的稍大点的互联网公司(百度、**、阿里、金山、小米、360、美团、去哪、网易、搜狐等等吧)、国企、电商(万达电商)、还有些小公司、安全类(360)的等等吧,上面都是我一点点整理出来的,希望大家认真的把每一个题弄懂,你去面试任何一家公司,我认为都是没有问题的。说几个点,注意一下。
1、数据结构和算法
一般情况下,工作中是用不到的,但是就是问,每个公司都问,而且有的公司还问的特别深,还让你手写代码。我觉得这个确实有点恶心,我个人也是很讨厌算法的,但是真是没办法,人家就问,你说怎么办?只能学呗。列个表,大家可以按照下面的去学习。不要一下看完,你看完也没用,你没有深入理解。每三天学一种,半年后,我觉得你应该会进步很多。然后可以看看“编程之美”等算法书,应该会有较大的提高。

常见的数据结构

线性:数组、链表、队列、堆栈、块状数组(数组+链表)
、hash表、双端队列、位图(bitmap)
树:堆(大顶堆、小顶堆),trie树(字母树or字典树),后缀树,后缀数组,二叉排序/查找树,B+/B-/B*,AVL树,Treap,红黑树,splay树,线段树,树状数组
图:图
其它:并查集

常见算法

1)基本思想:枚举,递归,分治,模拟,贪心,动态规划,剪枝,回溯
2)图算法:深度优先遍历与广度优先遍历,最短路径,最小生成树,拓扑排序
3)字符串算法:字符串查找,hash算法,KMP算法
4)排序算法:冒泡、快排、桶排序
5)动态规划:背包问题,最长公共子序列,最优二分检索树
6)数论问题:素数问题,整数问题,进制转换,同余模运算
7)排列组合:排序和组合算法
8)其它:LCA与RMQ问题


2.网络层
HTTP协议、TCP/IP协议,这个在Android的面试中问的比较少,但是了解一下,或者你学的比较深入,优势就比较明显了。会是你的加分点。所以,系统并且深入的学习一下就非常有必要了。

3.Android的基础
这个肯定是必须的了,比如listview优化、UI特效的实现、数据库层的搭建、JNI的使用等等。参照上面的面试题就可以。

4.注意一些面试细节
1)为什么离职?
2)对薪水的期望值
3)手机记得静音或者关机
4)表达能力的提高

最后希望大家都能找到一份好工作。

android面试感言