Android 一线 BAT 公司面试题你会几道?都解决完就可以进大公司了 (1)
HashMap 与 Hashtable 实现原理,线程安全性,hash 冲突及处理算
ConcurrentHashMap
进程和线程的区别
多线程与线程池
数据一致性如何保证
Synchronized 关键字,类锁,方法锁,重入锁
同步的方法
多进程开发以及多进程应用场景
服务器只提供数据接收接口,在多线程或多进程条件下,如何保证数据的有序到
ThreadLocal 原理,实现及如何保证 Local 属性
String StringBuilder StringBuffer 对比
接口与回调;回调的原理;写一个回调 demo
泛型原理,举例说明
解析与分派
抽象类与接口的区别
应用场景
抽象类是否可以没有方法和属性
静态属性和静态方法是否可以被继承?是否可以被重写?原因
修改对象 A 的 equals 方法的签名,那么使用 HashMap 存放这个对象实例的时候,会调用哪个 equals 方法
数据结构与算法
堆和栈在内存中的区别是什么(数据结构方面以及实际实现方面)
最快的排序算法是哪个?给阿里 2 万多名员工按年龄排序应该选择哪个算法?堆和树的区别;写出快排代码;链表逆序代码
求 1000 以内的水仙花数以及 40 亿以内的水仙花数
子串包含问题( KMP 算
法)写代码实现
万亿级别的两个 URL 文件 A 和 B ,如何求出 A 和 B 的差集 C ,( Bit 映射-> hash 分组->多文件读写效率->磁盘寻址以及应用层面对寻址的优化)
蚁群算法与蒙特卡洛算法
写出你所知道的排序算法及时空复杂度,稳定性
百度 POI 中如何试下查找最近的商家功能(坐标镜像 + R 树)
其他
死锁的四个必要条件
常见编码方式
utf-8 编码中的中文占几个字节
int 型几个字节
实现一个 Json 解析器(可以通过正则提高速度)
MVC MVP MVVM; 常见的设计模式
写出观察者模式的代码
TCP 的 3 次握手和 4 次挥手
TCP 与 UDP 的区别
HTTP 协议
HTTP1.0 与 2.0 的区别
HTTP 报文结构
HTTP 与 HTTPS 的区别以及如何实现安全性
非技术问题汇总
研究比较深入的领域有哪些
对业内信息的关注渠道有哪些
最近都读哪些书
自己最擅长的技术点,最感兴趣的技术领域和技术点
项目中用了哪些开源库,如何避免因为引入开源库而导致的安全性和稳定性问题
上份工作过程中做了什么,有什么产出
5 枚硬币,2 正 3 反如何划分为两堆然后通过翻转让两堆中正面向上的硬币和反面向上的硬币个数相同
时针走一圈,时针分针重合几次
N * N 的方格纸,里面有多少个正方形
现在下载速度很慢,试从网络协议的角度分析原因,并优化(网络的 5 层都可以涉及)
HR 问题汇总
讲一件你印象最深的一件事情
介绍一个你影响最深的项目
介绍你最热爱最擅长的专业领域
上份工作最大的收获是什么
自己的优点和缺点是什么?举例说明
你的学习方法是什么样的?实习过程中如何学习?实习项目中遇到的最大困难是什么以及如何解决的
说一件最能证明你能力的事情
项目中遇到最大的困难是什么?如何解决的
你的职业规划以及个人目标
未来发展路线及求职定位
评价下自己,评价下自己的技术水平,个人代码量如何
通过哪些渠道了解的招聘信息,其他同学都投了哪些公司
业余都有哪些爱好
当前的 offer 状况
如果 BAT 都给了 offer 该如何选
你对一份工作更看重哪些方面?平台,技术,氛围,城市,money
理想薪资范围
杭州岗和北京岗选哪个
理想中的工作环境是什么
家人对你的工作期望及自己的工作期望
若上司在公开会议上误会你了,该如何解决
你看中公司的什么?或者公司的那些方面最吸引你?
文末
有些东西你不仅要懂,而且要能够很好地表达出来,能够让面试官认可你的理解,例如 Handler 机制,这个是面试必问之题。有些晦涩的点,或许它只活在面试当中,实际工作当中你压根不会用到它,但是你要知道它是什么东西。
不管怎么样,不论是什么样的大小面试,要想不被面试官虐的不要不要的,只有刷爆面试题题做好全面的准备,当然除了这个还需要在平时把自己的基础打扎实,这样不论面试官怎么样一个知识点里往死里凿,你也能应付如流啊~
最后在这里放上这些整理的面试题以及相关的几十套腾讯、头条、阿里、美团等公司 19 年的面试专题,其中把技术点整理成了视频和 PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。
评论