网易一共经历了四轮面试,前三轮技术面,第四轮总监面。二面完了之后,HR 邀约去杭州参加现场面的,但是因为距离原因拒绝了,后来改成视频面,说实话,我现在有点后悔当初的决定了… 俗话说,见面三分情嘛哈哈哈哈
网易一面(28 min)
-
自我介绍
-
项目经历(老老实实一五一十介绍项目经历)
-
然后一个项目一个项目地问
-
介绍项目功能,挑一两个你觉得的实现难点讲讲
-
聊项目聊了好多,就是聊天一样的,很轻松
-
聊了很多 Flutter 的东西,比如怎么接触到 Flutter 的,为什么这么喜欢 Flutter,为什么创办这个 Flutter 开发者协会
-
聊着聊着二十多分钟过去了,面试官说我给他的感觉很好,所以也不打算问那些基础的(只有他觉得是基础)东西了(可能是累了hhh),然后就问我有什么要问的吗
提问环节:
-
网易内部对 Flutter 的看法,以及对 Flutter 未来的看法,以及值不值得学习
-
如果能拿到 offer,有没有要求必须要去实习
-
什么时候有结果
网易二面(30+ min)
这一面真的… 不知道咋说,由于在这次面试之前不久被百度的面试官怼惨了,看来本人真的是心态超级不好啊,被怼了之后,再去看网上的面经,觉得自己啥都不会,越看越丧,甚至开始自我否定…
所以对网易二面真的没抱什么希望了,面试官问什么我就答什么,会的就答,不会就说不会,也不多说什么,基本就是一问一答式的(除了聊 Flutter 的时候确实比较激动),面试中途我甚至有说想放弃面试、不想耽搁彼此的时间,不知道是面试官真的没听到还是假装没听到(可能是要完成任务吧),他还是继续问问题,我看他脸色感觉他是真的都听不下去了,像是两个机器人在交流,时间一过半小时,面试官就问有什么问题问他嘛,我说没有,然后就挂断了…
对面试官提的问题印象很模糊,只记得很少一部分问题了…
-
自我介绍 + 项目
-
讲 Service 的使用
-
使用 Service 的时候有没有遇到过问题?有没有在多种机型上测试过
-
数据持久化
-
问了挺多 SharedPreference 的东西
-
Gradle 相关
-
Activity之间传数据
-
如果 Activity 之间有大量数据(几兆)要传,应该怎么做
-
事件分发机制
-
自定义 View
-
自定义 View 中的自定义属性是如何调用的(好像问的是调用)
-
对比 ListView 和 RecyclerView
-
讲一下设计模式(然后问了两个我名字都没听过的设计模式,让对比一下)
-
讲一下 MVC MVP MVVM
-
Flutter 中的难点、原生通信、异步、框架原理等等…
网易三面(110+ min)
-
自我介绍 + 项目经历
-
如何实现推送?(我说建立一个长连接)
-
一条推送信息应该有哪些内容
-
为什么这么设计,讲一下每个字段的含义?这么设计有什么问题?
-
服务端如何确保客户端收到消息了?
-
如果服务器发出去一个消息,客户端还没收到,断网了怎么办?
-
如何处理重复消息?
(还有好多好多问题,考虑安全啊、性能啊、各种意外情况啊,反正就是要搞死你…)
聊了会儿 Flutter
一个印象较深的问题:Flutter 可不可以实现三维模型?(大概这么问的…)我说不行,因为 Flutter 的绘制引擎 skia 是2D绘制引擎。 他又问 如果有3D绘制引擎呢??还有 Flutter 与原生通信的问题…
撕代码:
一个二维平面上有 n 个气球,都是标准椭圆(也就是说可以通过两个坐标确定一个椭圆的位置及大小),椭圆的外切矩形与坐标轴平行,椭圆的分布是随机的,但是不存在两个椭圆交叉的情况(不存在外切矩形相交),问最少需要多少条平行于 y 轴的线,能够穿过所有的气球?
找出两个单向链表中的公共部分。
-
平时怎么学习的?
-
平时有看什么书?(我说最近有看 《Android进阶解密》)
-
这本书的章节是怎么安排的?它有什么特点?
-
如果要你写每一章的 topic 你会怎么写?
提问环节:
-
应届生进入公司能接触到哪些业务?
-
如何看待“程序员是吃年轻饭的”这一观点?
网易四面(总监面 25 min)
-
自我介绍
-
大学学过哪些课程?然后问了某些课程的分数
-
一个无序数组建堆的时间复杂度是多少?
-
死锁是什么?如何产生的(产生死锁的条件)?
-
TCP 中的滑动窗口
-
看过《算法导论》这本书嘛?
-
职业规划
-
为什么选择杭州而不是北京
-
为什么不读研?
-
印象最深的项目
最后依然是提问环节
面试总结:
我的秋招应该也就到这儿了,说实话,我不想再折腾了,因为经过这么多笔试、面试,发现自己的技术真的还很差,基础不牢固,知识点掌握的不够深入,我习惯性在面试结束后让面试官点评一下自己的表现,听到最多的大概就是“对某某知识点理解的不够深入”“加强基础”。
如果最终没能保研,我将全身心投入,准备明年的春招,据说到时候压力更大、更难,能怎么办呢?加油吧!!!
面试基础很重要!
一般包括Android基础、Java基础、Android常用的开源框架、设计模式和网络基础等等。下面我来列举一下常见的考察点:
Java相关
Java基础
-
HashMap
1.7和1.8的实现原理 -
final
关键字,为什么匿名内部类使用局部引用要用final
Java多线程
-
线程池的使用和原理
-
锁机制:
synchronized
、Lock
-
volatile
关键字 -
ThreadLocal
原理
JVM
-
Java内存结构
-
Java垃圾回收机制
-
Java类加载过程
Android相关
Android基础
-
Handler通信机制
-
跨进程通信方式
-
Activity启动模式
-
内存优化、布局优化
-
View的绘制流程
-
Android事件分发机制
-
动画的分类及其原理
-
MVC、MVP和MVVM模式
-
SparseArray
原理
Android开源框架
-
Android网络库:
Volley
、OkHttp
和Retrofit
的使用、原理和对比 -
Android图片库:
Glide
和Picasso
的使用、原理和对比 -
EventBus
的使用和原理 -
RxJava
的使用和原理 -
Router的使用和原理
网络基础
-
HTTP相关:包括HTTP2.0、HTTPS等
-
TCP相关:三次握手、四次挥手等
设计模式
-
单例模式
-
代理模式:静态代理和动态代理
-
观察者模式
这些基础知识一方面大家可以直接阅读源码,一方面可以去网上搜索相关文章去学习。
技术外这些准备要做好
首先是准备简历:
简历编写需要注意的几点:
1.标题的直接按照姓名-几年工作经验-应聘岗位格式来填写。
例如 小明——四年工作经验——Android开发高级工程师。因为要知道,HR筛选简历是非常快的,你要在第一时间就让他看到他想要看的信息。HR一开始最关心的就是工作年限和岗位,你直接在标题栏用最大的字体写出来会比很多人介绍了半天项目最后写年限要好得多。
2.个人信息写最前面。
最后
在这里我和身边一些朋友特意整理了一份快速进阶为Android高级工程师的系统且全面的学习资料。涵盖了Android初级——Android高级架构师进阶必备的一些学习技能。
附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题(含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)
[外链图片转存中…(img-PMSMFfmM-1714317986543)]
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!