-
线程池
-
泛型
-
泛型擦除
-
ListView优化滑动速度
-
RecyclerView 与ListView的区别
-
RecyclerView 数据更新部分(没看过)
-
安卓的手势(Motion_Event 以及事件分发)
-
View的绘制方法
-
View的绘制流程
-
设计模式
-
常见架构(MVC,MVP)
-
安卓里的动画
-
有在canvas的绘制过吗
-
安卓的适配单位换算
-
Bitmap
-
SurfaceView
-
SQLite 版本更新
-
存储数据还有其他存储方式?区别?如果应用卸载哪些会消失
-
接口需要加abstract嘛
-
enum?(没用过)
-
MySQL 级联删除 多表查询
-
OOM遇见过嘛
-
LRU算法介绍原理
-
矩阵Matrix 图片的颜色参数通道(没用过)
-
Picasso和Glide区别
-
加载大图OOM怎么处理
-
加载过程
-
收获最大,在学校学习哪些点帮助最大,难点最大
-
在学校或者实践当中碰到的困难的点,怎么解决的
-
迭代器怎么完成的
算法:一个有序数组找到2个值加起来为target LeetCode 第一题
网易三面 总监面 3月17日 下午15:00 41min (挂)
-
自我介绍
-
项目问题
-
SurfaceView的特点(因为项目用过)
-
SurfaceView的缓存机制
-
Android读过什么源码(讲了okhttp的一些缓存策略和失败重连)
算法题
_//有_char_型数组_words,由空格以及字母组成。我们定义被空格隔离开的字符序列为一个单词。现需要对其处理,把连续的空格换成一个空格,把单词的首字母大写。要求:1. 在原有数组上操作,不得开辟新的数组空间。 2. 性能也要考虑优化。
//void processWords(char[] words)
有道的三次面试除了第三次的总监面,其他两次还是相当愉快的。三面的面试官,估计开的双屏面试,全程几乎没有怎么看我(可能是压力面吧),都在盯自己的屏幕,回答问题也不肯定也不否认的那种。
挂的原因觉得可能还是我的项目太简单了吧。没啥亮点。
美团(一面挂)
=======
美团点评一面 3月23日15:00 (47min) Android工程师 Base北京(挂)
-
自我介绍
-
优化页面跳转和数据传递(简历写的)
-
遇到什么问题
-
看过什么源码(HashMap,线程池)
-
讲讲线程池
-
线程池用途
-
创建线程的方式
-
举一个死锁的例子,实际场景
-
Java占据一个资源的关键字是哪个
-
写一个死锁 (两个线程两个对象)
-
SP 的存储格式
-
当存储量很大的时候有什么问题
-
Activity和Activity之间通信方式
-
Activity A跳转到Activity B ,B再传递消息给ActivityA 用什么
-
ListView为什么要有ViewHolder(使用ViewHolder可以避免重复地调用findViewById)
-
序列化有用过没
-
创建对象的方式(new,clone,反射,反序列化)
-
sp和sqlite区别
-
Java中的深拷贝和浅拷贝
-
Java里创建对象 ,jvm会做什么事情
-
Java的泛型原理
-
加密算法有了解过?
-
用过git嘛
-
回滚用什么命令(revert)
-
Ide用什么
-
用过什么网络库和图片库(Picasso,Glide,okhttp)
-
一个整数,打印二进制多少个1 。说思路不用写(说了2种,问还有嘛,最后说了3种,问 还有吗 没了….)
-
字符串反转。说思路不用写(说了3种 还有嘛。。没了。。。)
自我评价
性格呢
反问:
评价下我: 你的自我评价很正确。。
本来以为应该会有二面,但是一直没有消息。没通知过也没通知说挂了。就默认他挂了。
三七互娱(Offer)
===========
三七互娱一面 3月19日 15:00(28 min)
-
自我介绍
-
为什么选Android这个方向
-
ArrayList和LinkedList
-
谁占内存高一点
-
从ArrayList和LinkedList中get一个数据,谁内存大
-
类实例化过程: 父类的静态代码块,非静态代码块 和子类的静态代码块,非静态代码块
初始化顺序
-
怎么理解。为什么是这个顺序
-
字符串 == 和 equals 的区别
-
HTTP 怎么理解无状态
-
HTTP 工作原理
-
项目
3月27 hr面(20min)
常规问题
4月1 总监面(20min)
-
玩啥游戏
-
为啥喜欢玩这游戏
-
为什么想做编程
-
为什么走Android
-
项目介绍一下
-
最大的问题
-
闲暇时间做啥提高编程能力或者安卓的能力
-
最大的优势
-
举个例子
-
回想这段经历什么感觉
-
新技术去哪里接触
-
对你影响最大的app或者公司
-
有啥想问的
跟谁学(Offer)
==========
跟谁学初面 4月1日 19:00(28min)
闲聊了一会
-
什么是线程,什么是进程?
-
JDK & JVM & JRE分别是什么以及它们的区别?
-
什么是面向过程 & 什么是面向对象 & 区别?
-
谈谈你对this和super的认识。
-
静态属性和静态方法能被继承吗?静态方法又是否能被重写呢
-
Java多态的实现机制是什么
-
static关键字的作用?
-
final关键字的作用
-
基本类型的初始化值为多少?引用类型的初始值为多少
-
能说说多维数组在内存上是怎么存储的吗?
-
Error和Exception的区别
-
给我例举至少5个常见的运行时异常
-
如果读取一个txt文本文件乱码了,你觉得原因是什么
-
Map的遍历方式有哪些?
-
你觉得Lock和Synchronized的区别是什么
-
四大组件是哪四个
-
如何在任意位置关掉应用所有Activity & 如何在任意位置关掉指定的Activity
-
你了解ViewPager2吗?和ViewPager 1有哪些区别?
-
Android中的动画分为哪些种类 & 特点 & 缺点。
-
在做悬浮窗的时候你遇到了什么困难
-
说说Android中一些屏幕单位
-
apk为什么需要签名
-
Flutter
-
Android中播放视频音频的方式有哪些
-
说说你知道的查找算法
4月9日 跟谁学二面 10:00 30min(时间不算算法,算法在视频之前在线做的)
-
自我介绍
-
有什么offer
-
家里同不同意你来北京 有没有兄弟姐妹
-
学校分数,排名
-
对我们公司有什么了解
-
线上教育线下教育的优缺点
-
最有挑战的事情
-
怎么解决
-
朋友怎么评价你
-
HTTP(从协议,状态码,1.0/1.1跟2.0 扯了一堆)
-
最消极的词评价自己
-
最近看的3本书
-
学到了什么
-
最有成就感的事
-
为什么这件事给你成就感
-
知道我们公司有哪些竞品吗
-
觉得自己三个短板
-
怎么克服
-
刷了多少LeetCode
emmmmmm 还有些忘了
反问环节
算法:
统计使用数 TOP 1 的标签。
现有数据:[{tagName: ‘p’}, {tagName: ‘div’}, {tagName: ‘p’}, …],
请统计出现次数 TOP 1 的 tagName。
总结
==
我大四就到国外去读书了,从来没有实习过(出国前的暑假确实有时间可以去实习,但是都被我浪费掉了) 所以相对于一直在国内的同学,大四就开始实习,在这一块有着明显的劣势。
之前学校里学的都是什么数据挖掘机器学习这些,跟我要找的安卓开发,知识上还是差的挺多的。以前很多学过的也都忘记了。
所以我基本上是从头开始学的。我看的书大概就这些:
-
操作系统:深入理解计算机系统
-
计算机网络 : 谢希仁的计算机网络
-
数据结构和算法: B站视频
-
Android:Android的进阶之光
-
算法:剑指和LeetCode
在总结几点需要注意的吧:
-
简历上一定不要写自己不会的东西!否则你会被问到怀疑人生!
-
简历上不要轻易的写熟练!否则你也会被问到怀疑人生!
-
面试过程中学会引导面试官很重要,一定要你占有主动权,这样你才能把你会的说出来。一般面试官不打断你,你就继续说,能说多久说多久。这样会让面试官觉得你很有钻研精神。
-
找个靠谱的内推人非常重要。不仅能给你很多帮助,并且在你焦急等待的时候也有人能问问。
-
多看面经多刷题
-
记得录音,面试结束后复盘,听听自己当时的回答,然后总结反思怎么做的更好
总的来说我的春招到此结束。马上就要入职了(去了跟谁学)。回想一下,还是觉得挺有意义的。**面试过程也是一个成长的过程。一次次的挑战自己,怀疑自己,完善自己的过程。**这个过程十分痛苦,但是一定要相信自己,坚持走下去,一定会有胜利的那一天。
文末
最后
这里我希望可以帮助到大家提升进阶。
内容包含:Android学习PDF+架构视频+面试文档+源码笔记,高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 这几块的内容。非常适合近期有面试和想在技术道路上继续精进的朋友。
喜欢本文的话,不妨给我点个小赞、评论区留言或者转发支持一下呗~
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门,即可获取!