前言
回顾一下自己这段时间的经历,三月份的时候,疫情原因公司通知了裁员,我匆匆忙忙地出去面了几家,但最终都没有拿到offer,我感觉今年的寒冬有点冷。到五月份,公司开始第二波裁员,我决定主动拿赔偿走人。后续的面试过程我做了一些准备,基本都能走到hr面,后面我也顺利地拿到了offer,我给大家分享下我的求职体会,希望能给大家一些参考。
一般Android面试分为两部分:Java部分和Android部分,下面说一下自己面试过程遇到的一些具体题目和一些相关知识点。
面试大厂难在哪?(面试难点)
(1)难在“心态”
首先需要克服的第一关,实际上就是自己的心态。因为我是专科出身,base比较低,所以面试大厂本就是一件没太大底气的事情,更何况是高级开发岗,所以心里就更容易没底。因此,在准备面试之前,调整心态这件事情就做了很久,所以难在“心态”一点也没错,心态没调整好,面试几乎是没戏的。
(2)难在“要求”
其次就是要求,所谓的要求实际上就是大厂对岗位的任职要求,也就是作为开发人员,你掌握了多少技术栈?
首先,你简历上写的肯定要会,其次就是你要拥有一些亮点,也就是说对某个技术有深入的了解,这样才能给面试官耳目一新的感觉。
那么,面试大厂,需要掌握多少呢?
今天我就把我面试大厂所遇到的技术问题分享给大家。
由于问题比较多,文章篇幅有限,我只列出了一部分知识点,详细的问题和答案我整理成了一份PDF文档,需要的朋友可以看文末,文末有详细的免费领取方式。
java基础知识
1.java的反射、泛型、注解
2.容器中的设计模式
3.源码分析
4.object通用方法
5.HashMap
6.LRU缓存
7.基础线程机制
8.线程之间的协作
9.java内存模型
Android核心知识
1.Activity
2.Fragment
3.数据存储
4.View
4.Parcelable 接口
5.IPC
6.屏幕适配
7.消息机制
8.线程异步
9.Webview
Android扩展知识
1.ART
2.APK包体优化
3.Hook
4.Proguard
5.架构
6.Jetpack
7.NDK 开发
8.计算机网络基础
9.类加载器
Android开源库源码分析
1.Glide :加载、缓存、LRU 算法 (如何自己设计一个大图加载框架) (LRUCache 原理)2.EventBus
3.LeakCanary
4.ARouter
5.插件化(不同插件化机制原理与流派,优缺点。局限性)
6.热修复
7.RXJava (RxJava 的线程切换原理)
8.Retrofit (Retrofit 在 OkHttp 上做了哪些封装?动态代理和静态代理的区别,是怎么实现的)9.OkHttp
常见面试算法题汇总
1.排序
2.二叉树
3.链表
4.栈 / 队列
5.二分
6.哈希表
7.堆 / 优先队列
8.二叉搜索树
9.数组 / 双指针
10.贪心
11.字符串处理
13.动态规划
14.矩阵
15.二进制 / 位运算
16.LRU 缓存策略
17.反转整数