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的技术问题~
本文实例讲述了PHP实现创建一个RPC服务操作。分享给大家供大家参考,具体如下: ...
原因:servlet 返回的数据不是 Json 格式 1、JS代码为: var jsonStr = {'cluste...
一、线性表 线性表linear list是n个具有相同特性的数据元素的有限序列。 线性表...
粤嵌单片机兴趣课二 前言 本次实验所用单片机为 C51单片机 CPU 为 AT89C52 使用...
随着互联网技术的不断发展, MySQL 相关生态也越来越完善,越来越多的工具涌现出...
Question 在Web应用中,采用POST提交信息是非常常见的,然而如果目标页面打开得...
首先在 Startup 的 ConfigureServices 中添加 AddLocalization 与 AddViewLocali...
最近工作上需要把这几个月研发的Flex Realspace产品在sp3时上线,急需制作帮助文...
UTF-8包含全世界所有国家需要用到的字符,是国际编码,通用性强。UTF-8编码的文...
0. JNI ????.dll和.so就不用介绍了吧, 不知道的也应该不需要看本文, 就是库文件....