不过真正面试了,才发现,还好,没有让手写红黑树。
这次面试从6月2日开始一面,到6月10日hr面。一周过去仍未收到offer,内心实属煎熬。于是便整理了一下面经以及心理历程。没想到第二天一早HR就加了vx通知我审批通过了。
下面是面试流程:
1.自我介绍
2.Flutter项目介绍和细节询问
3.Ping和ICMP协议
4.flutter生命周期
5.electron项目介绍和细节询问
6.react-native项目介绍
7.android项目介绍
8.java的四种引用
9.volatile关键字
10.java的有序性
11.android四大组件
12.广播的类型
13.Android生命周期及意外退出调用流程
14.service类型及生命周期
15.Android的消息机制(handler
16.Looper为什么不会陷入死循环阻塞线程
17.ThreadLocal
18.HTTPS加密过程及对称加密
19.算法:无序数组topK问题
解决:快排+分治
20.反问
1.自我介绍
2.学校课程,数据结构
3.LinkedList和ArraryList
4.HashMap
数据结构
存取流程
什么时候触发扩容
5.Android项目介绍
6.sharedpreferences存储相关
7.场景题:(聊了半个小时)
海量数据的存储,文件加载渲染流程,存储数据结构;
文件满了之后根据使用频数及存储时间舍弃的实现流程和相关数据结构
(提到了小顶堆)手写小顶堆的数据结构类
8.算法:有序数组合并
解决:双头指针
9.实验室项目开发流程相关
10.自身优势介绍
11.反问
1.自我介绍
2.算法:乘积最大子数组
解决:动态规划
3.死锁
4.DNS
5.TCP相关(三次握手四次挥手;拥塞控制;流量控制)
6.操作系统的内存管理(连续分配;分页存储管理方式;分段)
7.进程调度算法(五种)
8.GC回收算法
9.GC Root
10.synchronized关键字修饰静态方法与成员方法的区别
11.volatile关键字
12.动态代理
13.反射
14.Android活动不同调用状态下的钩子函数执行顺序
15.service
16.自定义view
17.canvas
18.RecyclerView相关(渲染,Item复用)
19.专业学习及技术栈相关询问
20.就业看法
21.自身优势介绍
22.项目Bug及解决方法详细介绍
23.未来技术发展方向规划
24.对工作看重的方面有哪些,聊了一下(收入,技术提高,平台,工作环境)
25.字节大小周的看法
26.聊了一些工作内容等等乱七八糟的…
1.能实习多久?什么时候能开始?
2.为什么来实习?有什么期望吗?
3.有考研意愿吗?
4.手头有没有别的offer?
回答问题的总体原则就是,先大体讲一下技术框架和技术点(这个主要是突出自己知识的广度),然后,再找几个细节和亮点,着重讲一下自己做了哪些事情,自己的有哪些好的想法,怎么去推动实施,效果怎么样(这个主要是突出自己的深入的地方)
无论是哪家公司,都很重视基础,尤其是对于应届生来说,所以在面试前基础一定要打扎实。面试是一个双向选择的过程,不要抱着畏惧的心态去面试,不利于自己的发挥。同时看中的应该不止薪资,还要看你是不是真的喜欢这家公司,是不是能真的得到锻炼。其实我写了这么多,只是我自己的总结,并不一定适用于所有人,相信经过一些面试,大家都会有这些感触。
针对以上面试技术点,我在这里也做一些资料分享,希望能更好的帮助到大家。这是我在面试前刷过的大厂面试题,自己做了一个汇总:
1、图片库对比
2、LRUCache原理
3、图片加载原理
4、自己去实现图片库,怎么做?
5、Glide源码解析
6、Glide使用什么缓存?
7、Glide内存缓存如何控制大小?
1.网络框架对比和源码分析
2.自己去设计网络请求框架,怎么做?
3.网络请求缓存处理,okhttp如何处理网络缓存的
4.从网络加载一个10M的图片,说下注意事项
5.TCP的3次握手和四次挥手
6.TCP与UDP的区别
7.TCP与UDP的应用
8.HTTP协议
9.HTTP1.0与2.0的区别
10.HTTP报文结构
1.Sqlite升级,增加字段的语句
2.数据库框架对比和源码分析
3.数据库的优化
4.数据库数据迁移问题
1.对热修复和插件化的理解
2.插件化原理分析
3.模块化实现(好处,原因)
4.热修复、插件化
5.项目组件化的理解
6.描述清点击 Android Studio 的 build 按钮后发生了什么
1.谈谈你对Android设计模式的理解
2.MVC MVP MVVM原理和区别
3.你所知道的设计模式有哪些?
4.项目中常用的设计模式
5.手写生产者/消费者模式
6.写出观察者模式的代码
7.适配器模式,装饰者模式,外观模式的异同?
8.用到的一些开源框架,介绍一个看过源码的,内部实现过程。
9.谈谈对RxJava的理解
10.Rxjava发送事件步骤
11.RxJava的作用,与平时使用的异步操作来比的优缺点
12.说说EventBus作用,实现方式,代替EventBus的方式
13.从0设计一款App整体架构,如何去做?
14.说一款你认为当前比较火的应用并设计(比如:直播APP,P2P金融,小视频等)
15.谈谈对java状态机理解
16.Fragment如果在Adapter中使用应该如何解耦?
17.Binder机制及底层实现
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)
总结
作为一名从事Android的开发者,很多人最近都在和我吐槽Android是不是快要凉了?而在我看来这正是市场成熟的表现,所有的市场都是温水煮青蛙,永远会淘汰掉不愿意学习改变,安于现状的那批人,希望所有的人能在大浪淘沙中留下来,因为对于市场的逐渐成熟,平凡并不是我们唯一的答案!
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
3/H4lCoPEF.jpg" />
总结
作为一名从事Android的开发者,很多人最近都在和我吐槽Android是不是快要凉了?而在我看来这正是市场成熟的表现,所有的市场都是温水煮青蛙,永远会淘汰掉不愿意学习改变,安于现状的那批人,希望所有的人能在大浪淘沙中留下来,因为对于市场的逐渐成熟,平凡并不是我们唯一的答案!
[外链图片转存中…(img-1PLPRGSK-1713582667288)]
[外链图片转存中…(img-4MHfyMu1-1713582667288)]
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!