赞
踩
3.31日早上电话突击面试,当时我还在睡觉,迷糊中接到了电话,一开始以为他只是和我确认时间,没想到问完信息之后直接开始问问题了,我当时没反应过来,说我现在不太方便,等20分钟再电话面的。我没想到这居然就是一面
面完就约了4.1号的二面视频面,面完等了几天接到了4.4号的三面电话面通知,然后9号接到了10号hr面的通知,面完之后3天后也就是13号接到了oc
以下是我被问到的绝大部分问题,有那么几个实在想不起来了,不分先后。文末附面试题解析以及面试资料。
activity的生命周期
activity的启动模式
service的生命周期
android进程和线程的关系
android进程间的通信方式
Handler机制简述,作用,要素,流程
Handler中消息队列为空时会发生什么情况?
looper,消息队列,handler的数量对应关系,为什么?
消息队列delay之后会发什么?
内存泄露是什么,为什么会发生,常见的内存泄露的例子,怎么解决
内存泄露和内存溢出的区别,什么会导致内存溢出
什么是ANR?什么情况会发生?如何避免?怎样定位?
设计模式,体现在android的哪些地方
==和equals
Hashmap各种,基本都问到了
Arraylist和linkedlist
进程和线程的关系
进程间通信方式
线程间通信方式
死锁
实现线程安全的方式
synchronized关键字,底层,使用方式
synchronized和lock的区别
volatile和synchronized的区别
jvm结构,作用,各存放了什么数据
运行时常量池
讲讲对gc的理解
4种引用,强软弱虚
gc算法,分代策略
介绍下cms收集器(g1)
类加载过程
双亲委派模型介绍,原理,好处
三次握手,四次挥手
tcp和udp的区别,传输数据时的区别,怎么传输
tcp可靠性
滑动窗口,流量控制,拥塞控制(4种方法)
输入url到显示主页的过程(基本每面都问)
http和https
https数据传输加密过程(基本每面都问)
什么是网络字节序,为什么可以保证在传输时能够被正确解释
海量数据topk问题,要详细讲(小根堆怎么实现的,快排怎么实现的)
十进制转十六进制
输入一篇文章,再输入若干关键词,输出这些关键词至少都出现了一次的最小范围
强烈建议多看源码,特别是比较关键的,很多问题都是从源码里抠出来的,比如handler。。。
因为有两面都是电话面,所以代码实现基本集中在视频面,3面是让口述的算法,要详细原理实现的那种
其他的我觉得都算ok,面试官挺好的,特别是3面面试官,我当时还调侃他腾讯双休咋你还是周日面试的呢
自己也看了很多别人的面经,特别是海量数据topk问题,3面前看到一个面经有提到,然后去了解了下,3面真被问到了,不然就扑街了,所以也把自己的面经分享出来,给后来人留点有用的东西
祝愿大家都能顺利通过面试,拿到理想的offer
关于上面所说到的知识点,我都放在GitHub上了,如有需要,可自行查看。
同时我也推荐一下我的Android交流裙Android技术交流,不仅可以免费获取资料,而且还能有一帮大佬为你摆平关于Android的技术问题~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。