前言
笔者是前腾讯Android高工,曾经多次担任面试官,现在在字节code。
从毕业到现在,被别人面试过,也面试过别人,大大小小的面试,一两百次,也算久经沙场。
现在,我以腾讯非在职员工的身份来和大家分享一下腾讯、字节等大厂Android岗面试的流程、攻略以及一些建议,希望能帮到看见这篇文章的有缘人。
都是干货,赶紧收藏,三连走起。
提笔初衷
写这篇文的初衷是有很多朋友都在问我腾讯面试相关的问题(嗯哼,不少都是来打探面试真题的)。通过交流得知,不管是老猿还是新手,大家或多或少都有些害怕面试,尤其是大厂的面试。所以,在这里详细的讲一下。
PS:本文涉及的范围很广,对多数面试腾讯的人来说都有参考价值,即便是准备面试其他公司,也有很多相通的地方。相信大家看完本文之后,一定会有所收获。
关于工作的Q&A
应届生的话,这里就不多说了,只有一个建议:去大厂(大厂都可以,都能学到东西,薪资条件什么的自己看着选)。
这里主要给已经有3~5年的Android开发经验的朋友心中的一些疑惑做一些解答。
我现在到底该不该跳槽?
首先你需要想清楚,你想要的待遇薪资、公司平台、团队氛围、老板实力是什么样子。这些因素在综合影响着你的工作和发展,如果只是厌烦当下的工作,没有目标就跳槽的话成本太高了。
第二个需要思考的问题就是:你为面试做好准备了吗?
简历优化好了吗?面试前要准备的技能知识复习好了吗?算法题刷的怎么样了?项目准备好如何去说了吗?如果你的回答是NO,八成会成为炮灰。
腾讯(大厂)面试要怎么准备?
设个问题涉及的内容很多,下面的版块会展开进行详细讲解。
面试流程
大厂的部门一般比较多,岗位类型多,职级差异也大,所以大家的面试流程都是不一样的。
一般来说,针对高开,大部分的大厂面试都会经历2轮技术面,1轮领导面,1轮HR面,如果面试情况有争议(或者面的特别好的情况)会有一轮加面,总体来讲总共会有4轮面试。
以字节为例,基本上所有面试都会在线上进行,一面2轮技术面,2面领导面(也会有一些技术的考察),3面就是HR面谈薪资和定级了。
这里图解说一下普适性的面试流程。
(PS:面试如打怪升级,大家要先通关前面才能进入后面。大家可以通过这张图来看自己打到了那里。)
学习路线以及思路
大家可以先从下面几个方面来准备技术面试:
如下示例,非常详细!!!
- 泛型原理丶反射原理丶Java虚拟机原理丶线程池原理丶
- 注解原理丶注解原理丶序列化
- Activity知识体系(Activity的生命周期丶Activity的任务栈丶Activity的启动模式丶View源码丶Fragment内核相关丶service原理等)
- 代码框架结构优化(数据结构丶排序算法丶设计模式)
- APP性能优化(用户体验优化丶适配丶代码调优)
- 热修复丶热升级丶Hook技术丶IOC架构设计
- NDK(c编程丶C++丶JNI丶LINUX)
- 如何提高开发效率?
- MVC丶MVP丶MVVM
- jetpack组件库
- 微信小程序
- Hybrid
- Flutter
一、Android部分:
1.第五大组件FragmentAndroid知识体系总结之Android部分之Fragment篇
2.对话框 & 弹框 & 通知 & 悬浮窗之 WMS 源码篇
3.Android UI控件篇 高级自定义View, 主要是原理和手写实现
4.Android 系统架构篇
5.Android 通信篇
6.Android Framework 源码篇
7.Android 网络编程篇
8.原生音视频图片开发篇[非JNI]
9.Android 特殊知识点【不知道如何分类的知识点】
10.Android 必须掌握的轮子 原理篇
11.Android 架构篇
12.Android 优化篇
13.Android 职业方向篇(有正确的职业方向,才能不浪费自己的职业生涯)
14.Android 工作工具篇
15.Android 工作必备技能篇
16.Android 跨平台开发篇
二、Java部分:
1.JVM
2.static
3.final
4.String. StringBuffer. StringBuilder
5.异常处理
6.内部类
7.多态
8.抽象和接口
9.集合框架
10.反射
11.单例
12.多线程
13.volatile
14.synchronized
15.Lock
16.引用类型
17.动态代理
18.元注解
三、 Kotlin 部分
1.Kotlin Primer · 第一章 · 启程
2.Kotlin Primer · 第二章 · 基本语法
3.Kotlin Primer · 第三章 · Kotlin 与 Java 混编
四、计算机网络部分
1.计算机网络体系结构
2.HTTP相关
3.TCP相关
4.Socket
5.总结
五、算法与数据结构部分
1.Android数据结构学习之顺序表
2.Android数据结构学习之链表
3.Android数据结构学习之队列
4.Android数据结构学习之栈
5.Android数据结构学习之树
6.Android数据结构学习之 排序查找
7.Android数据结构学习之 动态规划
六、 Flutter部分
1.Flutter是啥玩意儿?
2.移动端跨平台技术对比
3.Dart语言
4.环境配置
5.Hello World
6.路由
7.widget
8.布局
9.动画
10.http请求
11.吐吐槽知识点总结
七、 2018-2020Android高级面试题
1.java面试题
2.Android面试题
3.混合开发面试题
4.高端技术面试题
5.非技术性问题&HR问题汇总
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
1第一范式 数据库表中不能出现重复记录,每个字段是原子性的不能再分 1.1不符合第一范式的示例 1.2存在问题: 最后一条记录和第一条重复(不唯一,没有主键) 联系方式字段可以再分,不是原子性的 关于第一范式,每一行必须唯一,也就是每个表必须有主键,这是我们数…