2020Android面试心得:斩获3个大厂offer后,大厂常考知识点 面试技巧出炉
复习计划的制定和进度的把控也很重要,可以参考别人的学习计划去学习,再根据自己的实际情况去做适当的调整。
复习技巧
我一直认为学习没有捷径可言。我信奉"好记性不如烂笔头",也信奉"书读百遍其义自见"。
一定要去实践。对于程序员而言,不单单是死记硬背,我们有更好的方式去学习,比如写demo去验证,比如学习源码的过程中,一定要自己去翻看源码,多翻几遍看熟了再说。
学习笔记我认为很重要,不仅要记笔记,还要写心得体会,文字笔记、画图、总结等,方式很多,但是一定要自己认真去做,不要太相信自己的记忆,只有反复记忆,加深理解才行。
学习知识点的过程中,可以遵循What、How、Why这个三板斧。即这个东西是什么?它是怎么做的?它为什么这么做,原理是什么,有没有更好的方式?
在复习的过程中,都是从一个个小的知识点开始学的,复习到一定阶段,可以尝试着去把这些东西串联起来,由点及面。
另外在复习的过程中,一定要及时跟你做过的项目结合起来,这样也可以反哺你的项目,你在面试时就知道怎么聊了,就会有项目讲到知识点,由一个知识点串联到另一个知识点,这样你的知识体系就建立起来了。
准备简历
简历是你的敲门砖,具体简历模板我就不提供了,网上有很多优秀的模板大家可以参考。我觉得最重要的是你要把你的简历上的东西吃透,要深挖,多问几个为什么,比如我为什么要选择这个方案,它有什么优势和劣势,有没有更好的方式。
面试官一般会基于你的简历来考察你的综合能力,所以写简历千万不能偷懒,要拿出去写论文的态度来,认真修改反复揣摩,多请几个大佬帮你修改,提建议。
答题技巧
面试总体上是一个你跟面试官相会了解、相互交流的过程,大厂的面试官一般都很奈斯,如果你遇到不会的问题了,可以及时请教对方,不会了就问,不要怕丢面子,面试本就是一个学习和相互交流的过程,offer不是目的,只是个过程。
另外,有些时候某些技术或者知识点你不了解细节,但是大体的设计思路你是知道的,你就尽可能的答出你的理解,可以用横向的类似的技术去阐述这个技能点。
有些时候如果某个知识点一时半会想不起来了,可以迂回一下,跟递推公式一样,根据你擅长的知识点,一步一步去推导,先大胆假设,再小心求证,推导的过程也能说明一些问题。
还有需要注意的一点,对于不会的东西,可以尝试从原理角度去回答,但是尽量不要说错,回答的不全和方向错了是两个概念。
常考知识点
=====
1、Java
讲下equals和hashcode,他们为何必须一起重写?hashcode方法重写规则。
HashMap相关
运行时数据区域分区,哪些线程私有,哪些线程共享。栈帧的数据结构。方法区存放哪些数据。
简单描述一下 Person person = new Person() 对象实例化过程。最好有类加载过程。
GCRoot的类型,举例说明
LRU的实现。让你自己实现一个,你会怎么做
线程的几种状态
线程池
T1、T2、T3三个线程,如何保证它们顺序执行?也就是异步转同步的方式。
Java中 wait和sleep方法的不同?(wait释放锁,sleep不会释放锁)
线程安全相关
锁。synchronized、volatile、Lock。锁的几种状态。CAS原理。
讲下Java的双亲委派
泛型
反射
注解
方法内部的匿名内部类使用方法的局部变量时,为何要使用final修饰?
2、Android
启动模式,以及常见用法。
Activity生命周期。
Bitmap内存优化。
xhdpi的图片分别显示到hdpi和xxhdpi的手机上,显示的大小和内存是怎样的?
资源文件加载规则。比如说图片存放在drawable-hdpi和drawable-xxhdpi下,xhdpi的手机会加载哪张?如果删除掉drawable-xxhdpi下的图片呢?
Android的进程间通信方式。
谈谈你对Android中Context的理解?四大组件里面的Context都来源于哪里。
Application启动流程。
startActivity的具体过程。
Activity#setContentView的具体过程。
Surface的作用是什么?它是何时初始化的?View绘制的数据是如何显示到屏幕上的?
Handler机制
Thre
adLocalMap的实现。View绘制流程
自定义View有哪几种方式?注意事项。你对自定义属性如何理解?
事件分发。滑动冲突如何解决,具体在哪个方法里面解决?如何判断滑动方向?
动画
Apk打包流程。R文件最终会生成什么文件?aapt的作用是什么?
LocalBroadcastReceiver,为何比BroadCastReceiver速度快,LocalBroadcastReceiver的实现。
RecyclerView的缓存。RecyclerView的优势是哪些?都用它做过什么功能?
讲下leakCanary原理。为什么不用虚引用?引用队列里面存的是什么?内存数据是如何dump出来的?
讲下OkHttp的实现。拦截器的顺序,网络拦截器和普通拦截器有什么区别?它的线程池是怎样的?如何管理的?
glide的三级缓存如何做的?
rxjava的原理。rxjava的线程切换如何实现的?map和flatmap操作符区别;zip和merge操作符区别。
ArrayMap和SparseArray的作用和实现细节。
组件化和模块化的区别。
mvp、mvvm。
jetpack组件。
gradle中task的生命周期。
插件化原理。
热修复原理。
3、Android性能优化
启动速度优化。冷启动、温启动、热启动了解么。
内存优化
卡顿优化
网络优化
数据库优化
内存泄漏优化
包体积优化
4、http相关
描述一个完整的网络请求流程。
TCP和UDP区别,三次握手与四次挥手的细节;为何建立链接需要三次,断开链接却需要四次。
http和https区别。https的链接过程?
断线续传如何实现。大图分段上传如何实现。关键步骤
分段下载如何实现。
请求重试机制如何实现。
5、设计模式
你熟悉哪些设计模式?请举例说明。为何选用这个设计模式。
策略模式和桥接模式的区别
6、kotlin
说一下kotlin的优缺点。let和with的区别
扩展函数
kotlin的lateinit和by lazy的区别
构造函数有哪几种
协程
7、flutter
flutter的isolate
flutter的优势和劣势
flutter的channel通信方式有哪几种?
flutter的包体积优化
和桥接模式的区别
6、kotlin
说一下kotlin的优缺点。let和with的区别
扩展函数
kotlin的lateinit和by lazy的区别
构造函数有哪几种
协程
7、flutter
flutter的isolate
flutter的优势和劣势
flutter的channel通信方式有哪几种?
flutter的包体积优化
2020Android面试心得:斩获3个大厂offer后,大厂常考知识点 面试技巧出炉相关推荐
- 最新算法校招编程-剑指offer、Leetcode常考题目及解法分享
本资源整理了BAT.TMD等互联网算法岗校招面试过程中常考的LeetCode和剑指offer编程题:此外,还整理了部分百度.腾讯.阿里.今日头条相关的面试经验,对于正准备校招面试的同学非常值得参考复习 ...
- 【2023校招刷题】笔试及面试中常考知识点、手撕代码总结
文章目录 一.笔试/面试常考知识点 二.面试常考手撕代码 2.1.基本电路设计 2.2.复杂电路设计 2.3.跨时钟域设计 一.笔试/面试常考知识点 奇.偶.小数分频 [Verilog基础]分频器实现 ...
- 迎难而上,2023Java面试突击指南手册。整合了各大技术栈常考知识点。
上周我接到一位粉丝的私信说目前互联网形势实在对他太不友好,感觉自己每个技术栈都会一点,但不是完全精通.基本二面三面的时候就挂了,已经完全不知道该朝哪个方向努力了,希望可以给他一些建议和方法指导.那么, ...
- 找工作笔试面试那些事儿(13)---操作系统常考知识点总结
上一节对数据库的知识做了一个小总结,实际找工作过程中,因为公司或单位侧重点不一样,考察的知识也是不尽相同的,但是作为计算机类的学生,操作系统的知识也是必不可少的,去年参加笔试面试的时候,腾讯微软阿里等 ...
- 三非本科渣渣2年面试100场成“面霸”,春招补招终斩获大厂offer,这样的Android体系面试必备!
关注我的一个读者,在春招补招中顺利上岸,拿到了大厂 offer,我一直在强调:意识 + 打法是努力的前提. 拿到大厂 offer 再回来感谢的人,以及愿意分享自己这段经历的人,都是真正在我文章中受益的 ...
- 实习生招聘收割阿里、腾讯等大厂Offer后,有些话想和应届生说
原文地址: http://www.hollischuang.com/archives/4613 背景 本人211(郑州大学)21届本科毕业生,和大佬相比,我还是一只蒻箕.不过在H大博客和知识星球的帮助 ...
- java面试常考_JAVA面试常考系列十
JAVA面试常考系列十 题目一 Servlet是什么? Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,是用Java编写的服务器端程序,主要的 ...
- 2018 Android面试心得,已拿到offer,android进程管理器
五.HandlerThread.IntentService理解 六.弱引用.软引用区别 七.int.Integer有什么区别 主要考值传递/引用传递.拆箱/装箱问题 八.手写多种 生产者/消费者 模式 ...
- 面试华为测试岗,收到offer后我却毫不犹豫拒绝了....
我大学学的是计算机专业,毕业的时候,对于找工作比较迷茫,也不知道当时怎么想的,一头就扎进了一家外包公司,一干就是2年.我想说的是,但凡有点机会,千万别去外包! 在深思熟虑过后,决定要提升自己,也发现自 ...
最新文章
- mysql四-2:多表查询
- DL之NN:NN算法(本地数据集50000张训练集图片)进阶优化之三种参数改进,进一步提高手写数字图片识别的准确率
- python回调函数实例详解_Python回调函数用法实例详解
- PHP扩展——IIS下开启PHP扩展失败解决方案
- 生成高分辨率pdf_用于高分辨率图像合成的生成变分自编码器
- SpringBoot集成Cache缓存(Redis缓存,RedisTemplate方式)
- (10)FPGA专业术语(第2天)
- 最新PHP乐购社区源码+点卡购物系统
- Java性能优化之for循环
- unity Curvy Splines基础操作:创建可视赛道
- python爬取微信公众号的几种方法_一种爬取微信公众号信息的方法与流程
- java 社交网站_java学习之电影《社交网络》Facemash算法实现
- mac访达中显示隐藏的文件夹和文件
- SpringCloud入门 —— SSO 单点登录
- 7-4 宿舍谁最高? (20 分) map+结构体的应用
- 开发iWatch时遇到的bug,可能是因为项目名中含有中文
- Cocos2dx + lua分享
- 帧计算机术语,请解释一个计算机名词:“帧”,请分别解释“帧”的名称/用途/分类,...
- CakePHP系列(一)----CakePHP3.4一览
- 【PCL】—基于形态学的点云分割算法详解
热门文章
- CVPR2022 | 利用Lipschitz约束来稳定循环VSR的推理
- Linux常用命令详解(转)
- 10-3国际黄金最新行情趋势分析及期货原油价格涨跌操作指导
- 路由与交换技术实验(eNSP)
- 弘辽科技:一个淘宝店铺上多少产品合适呢?越多越好吗?
- 学习两篇文章后才知道 高价值分享之写作这件事值得坚持做
- 专场论坛 + MogDB 获奖丨云和恩墨亮相鲲鹏开发者峰会2022,共论数字化转型和数据库替代升级...
- java servlet init_Java ServletRegistration.setInitParameters方法代码示例
- 机器视觉系统硬件3:镜头
- 学校的地下网站(学校的地下网站1080P高清)