前言
自己2016年毕业,目前从事Android开发工作曾经3年啦。
就是尘世间一个迷途小开发,二流程序员,居身于小城市,最终也是思考到发展前景的局限性,趁着本人还年老,于是决然裸辞,用一个月工夫面试+温习+总结,最终拿到了抖音Android面经,胜利斩获offe,将本人的面试教训分享给大家,心愿对大家有所帮忙。
面试分享:
一面:
1.activity和service怎么通信
2.因为扯到了跨过程通信,就让我说一下安卓上有什么跨过程的通信形式
3.说到了管道,让我说一下在Android的时候会用到管道吗
4.Java两个整型相加怎么晓得有没有溢出
5.Java怎么进行线程
6.如果有4个线程同步开始,其中第4个线程要等后面三个线程执行完进行些统计操作,要怎么操作呢。
7.如果不通过应用Java的并发包的现成类库来实现一个CountDownLatch,怎么实现?
8.那么应用你这个CountDownLatch的这3+1个线程,一共须要几个锁呢?
9.晓得大顶堆和小顶堆吗,一个数组建堆,工夫复杂度是多少呢?
10.在堆中找指定的一个元素复杂度是多少?
11.看你简历上也有写网络方面的常识,https的过程说一下
二面:
1.Unicode和ASCII的区别
2.Unicode有哪些品种?Java是哪种?
3.json这种格局晓得吗,是怎么的,有什么用?
4.序列化除了json还有什么能够应用?
5.说说Android上的序列化?
6.Java的serializable有个Id,你晓得是有啥用的吗?
7.深拷贝浅拷贝说说?
8.Object的hashcode()用来干嘛,怎么本人实现hashcode?
9.JNI讲讲?
10.一个a包里的B类的c办法,cpp代码中的办法肯定要a_B_c()这样吗
11.Java的泛型讲讲,有啥用?咋实现的
12.在什么状况下能够在运行时获取泛型参
13.上界通配符和下界通配符讲讲
14.两个办法,一个办法的参数是泛型的,一个参数是失常的类(如String),会怎么样
15.输出网址到返回ip的过程】
16.假如你你缓存的ip地址过期了,怎么办
17.你认为DNS机制是怎么解决这个问题的,你能够尝试参考http的缓存机制想想
18.播送有几种,有序和粘性讲讲
19.注册播送的形式,你感觉动态注册播送这个是什么时候执行的呢
20.本地播送
21.线程过程区别
22.讲到内存资源,线程有什么数据是公有的
23.算法:二叉树的右视图
24.算法:两个栈实现队列
25.讲讲工作我的项目遇到的问题
26.有什么想问我的:
三面:
- 自我介绍
- 内核态用户态的区别
- 用户态能够拜访内核态的内存吗,你说的一些有危险的指令,具体是怎么阻止用户态程序去执行有危险的指令的
- 既然用户态不能够拜访内核态的内存,那么在做一些比方网络连接的操作的时候必定须要内核态内存,用户态程序怎么做到应用内核态内存的
- 说到跨过程通信形式,你晓得有什么跨过程通信形式吗?
- 你说到的共享内存,管道,音讯队列,binder他们之间有什么区别吗?
- 你说到播送、内容提供器也有应用binder与AMS通信,那他们与binder之间有什么区别吗(播送、内容提供器的本质是不是就是binder)?
- 为什么要写这样一个测速的程序?
- 两个Activity,一个显示商品列表,一个实现商品详情页,在商品详情页点了关注之后,怎么使得返回商品列表之后也更新了关注状态呢?
- 你说的公布订阅模式,你晓得有什么框架应用了这个设计模式吗?
- 如果两个Activity数据量比拟大呢,要更新相当多的货色呢?
- 你把model设置为单例的话,那这个列表一直下滑,加载更多内容,最初导致占用相当多的内存怎么办?liveData、ViewModel你能够理解下**
- 算法题:www.toutiao.cn转成cn.toutiao.www
- 有什么想问我的?(在头条工作的体验?这个你能够问hr)
四面:
- 你是哪里人?为什么抉择投上海的岗位?除了上海,还有什么动向的城市吗?为什么不喜爱北京?上海也是这样啊?
- 问业余。与程序相干的课程有多少?有学计算机组成原理、计算机网络吗?
- 除了看书以外学习路径?你在安卓的群上个别探讨什么货色?印象粗浅的是什么?
- 你这个在wifi的部门不是专门做安卓的吧?有没有安卓方面导师?都是靠你本人摸索的吗?我的项目有几个人在负责,都是你在负责吗?
- 因为什么而接触安卓?你在这个团队里负责什么角色?奉献了多少代码比方有多少页面是你写的?
- 有没有什么社团之类的让你接触安卓?
有什么想问我的?
HR面:
- 你认为你后面的面试体现怎么样?
- 你感觉抖音(还是字节跳动来着)怎么样?
- 你提到技术驱动型,你认为怎么样才是技术驱动型公司?
- 你提到你是抖音的用户,然而应用频率不高,是因为什么,因为抖音的内容品质不好吗?
- 你提到抖音是音视频相干,你对音视频开发是比拟感兴趣吗?
- 之前工作中有没有遇到什么较大的问题?这个问题是什么起因有没有探索?
- 工作期间有没有遇到什么比拟大的挫折?
- 如果通过了面试,你什么时候能够过去下班?
总结:上海抖音经验4面技术面+ hr面。10.25发的意向书
简历的制作
- 简历的作用是展现本人的亮点给面试官,让面试官能够在短时间内迅速理解咱们。
- 简历肯定要把本人的亮点写上去,展现本人的能力。说人话就是:通知面试官本人有多牛叉,这不是体现咱们虚心的时候。不论是我的项目亮点、还是集体技能,都统统写上去。
- 技能点形容要精准,不要含糊。
- 写上简历的内容肯定要是本人把握的内容。
例如:
面试倡议
1.有急躁且被动
面试不要焦急着去问后果,个别在hr面的时候,她的态度多少可能猜个七七八八的,如果等上一周还没有告诉,那就能够被动去问了。
2.刷题是为了晋升本人的运气
运气在面试过程中是十分重要的,刷题的目标很简略,除了坚固咱们所把握的,另一个就是为了能进步在面试中咱们的运气,如果可能问到一样的题是再好不过了,当然这个方法是实用于职级中低岗位。
3.把握根底,留神深度
大厂面试最喜爱问两类问题,一类是根底,另一类就是深度。根底局部,无非就是咱们所把握的技术根底内容,基本上只有是有筹备的都没有太大的问题。另一部分就是深度问题,大多波及到本人之前的工作、我的项目,面试官所问的问题不仅仅是停留在外表那么简略,背地的原理是什么才是面试官想要问的。
4.刷面试题
因为文章篇幅无限,文档资料内容较多,本能够提供链接下载,但无奈容易被谐和,所以全副存档,须要这些文档这里的敌人,能够点击我的【Gitee】,心愿可能共同进步,共勉!
最初
这也我在工作、面试中学习并总结到的一些知识点, 都是一些比拟典型的、常被问到的问题。如果你平时没有留神去总结的话,那么当你面试被问到的时候可能会是一脸懵圈,就算这个问题你晓得怎么回事,然而你平时没有认真总结, 你也可能会呈现逻辑凌乱的状况,从而错失工作机会。
其实Android开发的知识点就那么多,面试问来问去还是那么点货色。所以面试没有其余的窍门,只看你对这些知识点筹备的充沛水平。so,进来面试时先看看本人温习到了哪个阶段就好。