开发职位或许没有之前如此火爆,但是只要你有真才实学,找个较好的工作还是比较容易的。如果你是985,211,如果你是硕士学历,那找个满意的offer更是不再话下;即使不是上面的条件,只要你好好努力的学习,把每一项的技术点攻破了,同样可以达到甚至超越上面条件的同学。
我隔一段时间都会出去面试一次,面试的目的不是为了找到好的工作,而是知道自己的优缺点是什么?知道市场需要什么样的人?同样,面试你的也是同行,这样也能够碰撞出不同的思想。当然,遇到好的机会那是再好不过了。试想?如果你一直待在一家公司,都不知道外面的情况如何的话,那是很可怕的,至少我这么认为。如果您同意这样的观点,不妨接着往下看,让我们一起研究面试过程中需要具备的知识。下面是我亲生经历的一次面试,这里写出来给大家分享,更多的是总结面试中遇到的问题以及以后学习过程中的方向。只有这样才能和社会接上轨迹。
我面试的是美团,这家公司还算不错的,至少在我印象中还是挺好。技术面试一共是三面。下面做一个总结
面试
==
第一面
1 手写算法题。一共有3个,面试官随机选择一个。猫扑素数;1到n,求1的个数;单 《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》开源 词反转。
2 Activity的加载模式。
standard,singleTop,singleTask,singleInstance。
可以参考:https://developer.android.com/guide/components/tasks-and-back-stack.html
2.1 什么时候会用到singleTask?
在MainActivity的时候用到
3 Handler机制?
MessageQueue,Looper等。
3.1 一个线程是否只有一个Looper?
3.2 如何保证一个线程只有一个Looper?
4 多线程的方式有哪些?
-
- new Thread()
-
- AsyncTask
-
- Handler
-
- IntentService
-
- ThreadPoolExecutor
5 ANR异常发生条件
-
1)5s内没有响应用户输入事件
-
2)10s内广播接收器没有处理完毕
-
3)20s内服务没有处理完毕
5.1 如何分析ANR
log+trace.txt
6自定义View和ViewG Android开源项目:ali1024.coding.net/public/P7/Android/git roup
说一下自己定义的组件就行
7 事件处理
分发,拦截,处理。只是View没有拦截处理
8 GC算法
标记清除,标记整理,复制,分代收集
参考:http://www.jianshu.com/p/7c708a66ff42
把上面文章弄懂了,就能刷过GC
9 四大引用
强,软,弱,虚,并说明下合适GC
10 动画
View动画,属性动画,帧动画。再说下View和属性动画区别。
11 Dalvik和Art区别?(Just In Time和Ahead Of Time)
就这样第一面基本结束。一共问了11个问题,其中美团的手写算法在业界算是比较出名,很多小伙伴可能卡在手写算法上。然后就是一些Android和Java的细节性东西,这些基础内容只要有1年经验的都基本能说出个一二三。
大概过了10分钟,接下来是
第二面
1 OkHttp原理?
2 Retrofit原理?为何用代理?代理的作用是什么?
3 ButterKnife原理?用到反射吗?为什么?
4 ANR异常如何查找并分析?
5 JVM内存模型?性能调优?
6 垃圾搜集算法有哪些?G1算法?
7 Http和Https的区别?
最后
考虑到文章的篇幅问题,我把这些问题和答案以及我多年面试所遇到的问题和一些面试资料做成了PDF文档
喜欢的朋友可以关注、转发、点赞 感谢!
这些问题和答案以及我多年面试所遇到的问题和一些面试资料做成了PDF文档
[外链图片转存中…(img-HsXXPSXJ-1649939548097)]
[外链图片转存中…(img-nWm27OYX-1649939548099)]
喜欢的朋友可以关注、转发、点赞 感谢!