求职热季:Android 程序猿进军大厂必须要知道的事
引言
又到了一年中最为高潮的求职热季,今年互联网行业的竞争相比于去年来说形势更为严峻,尤其是各地防护工作的加重,导致又下岗了一大批人,所以随之而来的就业压力就更大了
所以很多人就觉得大厂是不敢奢望的,也不敢去进行尝试,觉得自己的能力是不够的,但是实际上的情况并不是如此,接下来我就以自己在腾讯的一个面试经历来告诉大家,大厂并不是遥不可及的,其中并没有你想象的那么困难
腾讯与其他的互联网大厂的技术类社招面试流程大致是一样的,通常情况是四次面试,其中第一,第二面是属于技术面试,第三面是主管面试,第四面就是 HR 面试了
技术面试
1、自我介绍及知识考察
自我介绍这个环节是必不可少的,时长一般在三分钟以内,我个人通常是一分半不到就介绍完了,自我介绍之后;面试官接下来就是对一些技术基础知识的考察,面试官会根据每位候选人的背景不同,选择性的对其引导询问
2、项目经历考察
项目经历是面试官最为看重的一点,简历上的项目介绍较为笼统,并不能对候选人有着清晰的了解,所以这时候面试官就对其会刨根问底,试图通过候选人对项目的亲口述说;以达到了解候选人对项目的深入层次;下面这几个关键点,希望大家能够记住,避免在面试中翻车
- 对项目背景的了解程度:讲不清楚需求从哪里来是非常可怕的,这说明你更多只是一个执行者,不是负责人,且缺少对于项目整体的思考
- 对需求的合理性进行分析:一味听从 PM,不能把控需求的研发是很可怕的
- 对技术方案设计的调研和选型:我们更希望看到你的方案是经过充分思考、调研、对比、论证的,通过这个过程,可以看到候选人的系统设计功底,是否对业界技术有足够了解,对开源技术的掌握情况,是否愿意应用开源技术(哪怕你的项目只是一个简单的业务系统,那么仍然应该有很多亮点可寻,否则这段项目经历可能会减分)
- 取得的成效:很多工程师只看重过程,不看重结果,这是不可取的
主管面试
相较于技术面试来说,主管级别的面试并不会过多的考察像基础知识、数据结构、算法这些技术点,但大多的主管具备着很强的技术背景,所以仍然会针对技术面试过程中的一些遗漏点进行补充考察,除此之外,主管级别的面试更多的是考察你技术以外的东西,是否能够与团队相匹配,亦或者能不能胜任更高的职位
首先我们来看下团队匹配中最为重要的几点:
- 逻辑思维:这就与逻辑题一样,团队里可以接受不足够聪明的人,但是绝对不能接受逻辑不清晰的人,所以在这个环节,主管会提出一些很复杂的问题,来交给候选人进行解决,亦或者会让候选人阐述自身经历过最有挑战性的问题,最终是如何定义和解决的
- 沟通能力: 沟通是人类在生产发展中最为重要的一点,高效的沟通往往决定着团队的执行力,然而不能够进行有效的沟通,这对团队而言往往是一场灾难,这种无效的沟通交流也是导致日常会议时长增加的主要因素,所以这类的面试考察是极为重要的
如果候选人已经具备了上面所述的逻辑思维能力和沟通能力,那么这时候主管就会对其考察进阶能力,这时候主管就会用一些偏激的词汇和行为,来引导候选人,看看是不是具备沟通说服和影响他人的能力,这同时也是考察了候选人在收到刁难时候的反应
HR 面试
恭喜,到了 HR 面了,最简单的一面,可真的是最简单吗?
我个人觉得 HR 面是大厂和小厂区别最大的地方
小厂一般更关心的是福利问题,怎么把自己仅有的福利说的天花乱坠;而大厂要对最后一面严格把关,关注人才可持续发展;
所以看似简单的谈话,一定要当阅读理解去做
HR 面给大家三个锦囊:
- 我叫不紧张:放轻松,自然的去聊,千万别紧张的不知道说什么
- 展示自己:这个时候就别讲传统美德去谦虚了,多夸自己,展示自己的能力
- 真真假假:适当的说一些假话,除了工资、背景这些会背调的,可以稍微美化一下自己
最后为了让大家顺利的通过大厂面试,特为大家准备了一份 Android 高级开发面试题,这份面试题里包含了腾讯、阿里、滴滴、美团、京东等众多一线大厂的面试题及其对应的答案解析,有需要的朋友:可以简信发送“面试” 即可 直达获取;下面我就把这份面试题资料展示给大家
面试题资料展示如下:
Activity 启动模式
- Activity 的启动流程
- onSaveInstanceState(),onRestoreInstanceState的掉用时机
- activity 的启动模式和使用场景
- onStart 和 onResume、onPause 和 onStop的区别
- Activity 的数据是怎么保存的,进程被 Kill 后,保存的数据怎么恢复的
Service 解析
- service 的生命周期,两种启动方式的区别
- Service 启动流程
- ervice 与 Activity 怎么实现通信
- IntentService 是什么, IntentService 原理,应用场景及其与 Service 的区别
- Service 的 onStartCommand 方法有几种返回值?各代表什么意思?
- bindService 和 startService 混合使用的生命周期以及怎么关闭
完整版面试题 PDF 文档获取方式: 简信发送 “面试” 即可 直达获取
详解 Handler 消息机制
- Handler 的实现原理
- 子线程中能不能直接 new 一个 Handler ,为什么主线程可以
- Handler 导致的内存泄露原因及其解决方案
- 一个线程可以有几个 Handler ,几个 Looper ,几个 MessageQueue 对象
- Handler的post 与 sendMessage 的区别和应用场景
Bitmap 内存问题
- Bitmap 内存占用的计算
- getByteCount() & getAllocationByteCount()的区别
- Bitmap 的压缩方式
- 如何设计一个图片加载库
- 有一张非常大的图片,如何去加载这张大图片
完整版面试题 PDF 文档获取方式: 简信发送 “面试” 即可 直达获取
深入解析 Binder
- 什么是 Binder?
- Binder 的原理
- Binder 框架中 ServiceManager 的作用
- Android 中进程和线程的关系
- 为何需要进行 IPC ,多进程通信可能会出现什么问题
- 为何需要进行 IPC ,进程通信可能会出现什么问题
性能优化系列
- 内存优化
- 启动优化
- 布局优化
- 卡顿优化
- 网络优化
文章篇幅有限,资料内容就不做完全展示了;有需要这份面试题及答案解析的朋友 ;可以简信发送 "面试" 即可 直达获取
Android 高级开发面试题及答案解析目录:
最后祝大家能够在面试中拿到一份令自己满意的 offer