2020 吊打面试官系列!Android 大厂高级面试题 灵魂 100 问,你能答对多少?
项目上: 准备一个有亮点的项目,有大厂实习最好,没有的话自己包装一下,主要考察的是:实现思路,亮点难点,性能优化。
面试过程中,要尽量引导着面试官跟着你的思路走,尽可能表现出自己的亮点。
比如,让我写单例模式,我会写双重检查锁,顺便讲下 DCL 失败,由此又能引出很多知识点,工作内存/主内存(意义,副作用),volitale 的实现,指令重排的积极/消极意义等等。
(谈知识点时,要注意观察面试官的表情,他有兴趣我们才深入的谈)。
对于开发过程中常用的类,强烈建议自己去看看源码 千万不要只要
网上看了几篇讲解文章就觉得会了。。。
ps :在秋招以及金九银十的时候,我也整理了一些大厂必备面试知识点,以及学习笔记,面试题合集,以及面试大厂需要注意哪些的学习视频,如果现在需要跳槽或者准备找工作的朋友,可以免费领取一下,也免去了你们自己上网搜集整理的时间!
大厂面试题
含 BAT、小米、华为、美团、滴滴)和我自己整理 Android 复习笔记(包含 Android 基础知识点、Android 扩展知识点、Android 源码解析、设计模式汇总、Gradle 知识点、常见算法题汇总。)
学习视频
如果需要 PDF 版本可以在群文件夹里,自行领取!
自行下载直达领取链接:【https://links.jianshu.com/go?to=https%3A%2F%2Fjq.qq.com%2F%3F_wv%3D1027%26k%3DBRZhpPkt】
或者在我的主页介绍里,查看领取二维码!
百词斩 Android 面经
一面(视频)
1.内部类和静态内部类的区别
2.如何使一个类不能被继承
3.写一个单例模式,保证线程安全的
4.如果你写的这个单例被继承,然后多次实例化,还是单例吗(提示构造方法是 private 的类不能被继承)
5.代码:带括号的表达式求值,如:1 加(3 减 2)
6.网络五层架构,http 在哪一层
7.tcp 和 udp 的区别
8.tcp 三次握手过程,为什么要有第三次
9.数据库事务四个性质,一致性是什么
10.死锁是什么,怎么产生,如何避免
11.数组和链表的区别
12.二叉排序树是什么,查找的时间复杂度,怎么降低时间复杂度
13.项目有什么难点
二面(视频)
1.Dalvik 和 ART 的区别
2.虚拟内存是什么
3.CPU32 位和 64 位区别,Android CPU 是多少位的
4.手机内部存储目录是什么样的,能不能访问其他应用的目录
5.网络五层架构
6.TCP 和 UDP 的区别,应用场景
7.拥塞控制、流量控制的原理
8.HTTP 能用 UDP 吗
9.HTTP 的 header 有哪些字段,哪个是必须有的
10.HTTP 状态码 3 开头、4 开头各是什么意思
11.POST 和 GET 的区别,POST 的参数能不能放在 url
12.浏览器输入网址到返回网页的全过程
13.进程和线程的区别
14.代码:输入参数 x 和 y,求 x 的 y 次方,用尽可能小的复杂度,并分析时间复杂度
15.代码:二叉树遍历,任意写一种
16.1T 大小的文件,内容是“用户名 背单词数”的列表,一个用户可能有多个记录,如何找出前十名
17.给一个数组,讲出快速排序第一次划分的过程
18.数据库事务是什么,有什么用
19.说下数据库的索引
20.手写 SQL 语句:分页,排序,多表连接
21.SQLite 如何从版本 1 升级到 100
22.char 能不能存汉字
23.int a = new Integer(3)会不会报错
24.int 可以表示的范围
25.float 怎么存储的
26.catch 中 return 了,finally 还会不会执行
27.有几种创建进程的方法
28.有几种创建线程的方法
29.Java 中实现线程互斥有哪些方法,synchronized 怎么用
30.抛 n 个硬币,m 个正面朝上的概率
31.如何不用额外空间交换两个数
32.给定一个三角形和一个点,判断点是否在三角形中
HR 面(视频)
1.你是福建人,为什么想来成都
2.为什么选择自动化专业
3.是怎么想到从事 Android 的
4.父母是做什么的,同意你到外地工作吗
5.对公司文化了解多少,怎么了解的
6.暑假在脸萌实习感觉怎么样,喜欢吗
7.未来的职业规划
8.期望薪资
9.有没有其他 offer,有没有还在面试的
技术面没怎么问项目,考官也说对应届生还是更看重基础和潜力。HR 面的时候其实已经稳了,就是沟通一些 offer 的情况,隔天就发来了 offer。十分万幸赶上了秋招末班车,结束两个月的陪跑!
cvte
cvte 电话一面
项目中遇到的问题,具体负责的是哪个模块
activity 启动的生命周期
onstop 和 onpause 的区别
activiytA 启动 acitityB 过程中两个 activity 的生命周期变化
activity 的四种启动模式,说一种吧,比如 singleTop
广播,广播的注册形式,一定能收到吗
service 和 activity 的 context 有什么不同
service 的启动方式,bindservice 和 startService,A 启动 service,b 绑定 service 要停止服务,要停止多少此,c 也绑定 service 呢
view 的绘制流程
事件分发机制,如果一个 linearLayout 要停止 textView 的点击事件,要怎么做,重写 onInterceptTouchEvent 方法,返回 true?
java 多线程了解吗?java 开启线程的几种方式,runable,thread,callable
thread 的 run 方法和 start 方法有什么不同
多线程的 wait 和 sleep,join 方法,停止线程的方法,stop?线程有 stop 方法?
java 的容器有哪些?linkedList 的存储结构是怎么样的。
hashmap 的存储形式是怎么样的,具体的 hash 函数是怎么进行的。
了解二叉树吗,结构是怎样的,前序遍历的过程
评论