如果你面试被拒绝了10几次,不要放弃,我3面阿里-6面字节,终逆袭拿下字节跳动offer!

前言

今天要谈的主题是关于求职.求职是在每个技术人员的生涯中都要经历多次,对于我们大部分人而言,在进入自己心仪的公司之前少不了准备工作,有一份全面细致面试题将帮助我们减少许多麻烦.在跳槽季来临之前,特地做这个系列的文章,一方面帮助自己巩固下基础,另一方面也希望帮助想要换工作的朋友.

为了更好的树立知识体系,我附加了相关的思维导图,分为pdf版和xmind版.比如Android相关的导图如下:

(PS:我的主页个人简介查看,加我vx可获取xmind版本学习路线+学习进阶笔记+大厂面试题合集)

什么是面试

有些人可能会把面试看的太重,觉得面试过了就能进入大厂,技术和财富兼得……

我倒是觉得,面试没有这么夸张(抱歉做了一回标题党),它其实是一次你和面试官互相了解的绝佳机会,借此机会你还可以对未来的工作有初步的了解。

面试本身并不能完全评价一人个的实力。面试通过的人,也许只是恰好在面试时遇到了自己熟悉的问题,面试不通过,也有可能是面试官自身的问题,并非每个面试官都具备客观评价别人的能力。

换句话说,面试没通过也许是面试官没有发现你的才华,面试通过了也并不代表你就能胜任工作,因为进入企业之后可不是每天负责回答面试题!

所以从这一点来看,面试有点像相亲。你满意我,我满意你,王八对绿豆——看上眼了,那就一拍即合,否则就分道扬镳。我本人非常希望能够多几轮面试(实际并不总是能做到),这样大家都有充足的时间互相了解,决定去留。

网上某些面经中,介绍了一些“装逼”的方法,还有所谓的“面试技巧”,我是不太认可的。技巧需要有,这是为了让你更好的展示自己,而非坑蒙拐骗,无理取闹,无中生有。我更想展现一个真实的自己,如果面试官不认可,说明我们没有缘分,或者说自己的能力还不够。

面试要准备什么

技术面试的面试官问的知识,80% 会来自于你的简历,所以你至少提前除了准备自我介绍,还应该认真针对简历上的每个技术点,思考一下可能出现的面试题,并想一想如何去应对它。还有去面试前一定要花点时间了解下你面试的这家公司是做什么的。

对于面试者来说,往往觉得面试就是回答对面试官的问题,但从面试官的角度来看,面试其实就是要做一件事情:「如何区分面试者」。简单的说,就是把你和面试官面过的(或即将面试的)的人区分开来,并给你打上几个签标,简单点可以是「不错」、「合适」、「犹豫」、「肯定不行」。复杂点的,可能会把你的某些能力列出来,比如学习能力强、协作能力差,然后再和其他人放在一起综合考虑。每个项目都有不同的特点,所以每次的侧重能力考察也会不一样。

所以,有时候你通过了一家公司的面试,也不需要太得意了,可能并不是你有多厉害,仅仅只是你正好是这个时间段里性价比较高的那个。当然,如果你被淘汰了,也不需要妄自菲薄,也许只是因为在这个时间段有个比你更高性价比的人也来这家公司面试了。

如何准备与 HR 的面试(给大家做一个参考)

HR 通常会问你一些离职原因和职业规划,对于离职原因的阐述,我想大家应该都很清楚了,不要否认老东家的价值,不要否认老东家的价值,可以结合现在面试公司来说出自己的展望。比如我之前面试美团的时候,我是这样回答的,因为美团是一个非常重视移动端业务的互联网平台,而我之前公司由于公司战略的变化,现在业务像提供服务转型而弱化了移动端,作为一个深爱着移动互联网的人,我渴望加入美团这样的团队。

参考HR 常问的一些问题:


  • 由于简书限制网盘链接,在我主页扫描我的二维码,我免费分享给你

  • 自行下载直达领取链接:【点击资料下载

我的面试经历

字节跳动(已offer)

挂了几次了在字节跳动,感觉有点紧张。

一面 是一个帅小伙面我的 题目部分顺序,不分重点
9.16 一面

1、java的新特:面向对象 封装 多态 关系
2、跨平台,Java是怎么实现一次编译处处运行的?他和C、C++的编译后的exe文件有什么区别?
3、java怎么内存回收GC
4、目前JDK默认的垃圾回收器是什么
5、怎么实现多态
6、抽象类和抽象接口的区别
7、简历里面写了设计模式,设计模式有哪些 手写一个单例模式 ,说下工厂模式、生产消费者模型适用的场景(这里我是结合我自己的项目说到的)
8、生产消费者模型弊端、量级越来越大了之后怎么优化
9、并发与并行的区别
10、悲观锁与乐观锁的区别
11、区块链的概念(因为我的研究方向是区块链,面试官让我一句话介绍区块链并且要让他能听懂)
12、网络netty 实现了什么功能,长连接的原理、底层的代码看过吗(表示真没看过)
13、怎么保证长连接不断开?怎么发现交互失败?
14、手写算法 大数相加

9.17 二面

1、java的字节码是什么
2、我们基于字节码能做什么事情
3、java本身和C的区别
4、java为什么可以一次编译终身运行
5、JAVA是解析型还是编译型语言 和python C有什么区别
6、代码混淆有了解过吗
7、动态链接区和静态链接库的区别
8、TCP协议如何保证可靠传输
9、一个完整的https的整个过程用到来哪些协议
10、怎么改进UDP让他实现可靠传输(好像是可以利用应用层来实现TCP的一些功能,从而达到可靠性,具体可能可以参考一下QUIC)
11、git rebase git merge 的区别
12、为什么想投客户端的岗位
13、算法题:数组的数字合并成最小数 LC179

9.20 三面

1、为什么选择区块链方向、讲一讲自己的项目
3、区块链的理解,有哪些实际落地的场景
4、防篡改不用区块链怎么实现
5、觉得区块链有什么可发展的空间或场景
6、netty的线程模型
7、netty单线程模型怎么处理并发的问题
8、对于客户端开发的理解是什么
9、算法题 LC93
10、编译原理操作系统的理解
11、最近在看什么书
12、有没有阅读开源框架

这次面试,很多东西自己知道,但是表达得不是很清晰。所以在这里大家最好是对着自己的简历,模仿一下,假如你是面试官,会怎么问,你要怎么答才会让他满意,换位思考。

下午去的是车公庙,金融公司。

中安信业

这家公司,好高大上,办公环境好屌,个个都是穿正装,感觉自己好像一个屌丝。是一个前端架构师和另外一个小伙一块面我的,恩,感觉他们对Android方面不是特别了解

一面

1、自我介绍

2、问项目

3、观察者模式是干嘛的?手写个出来

4、数据库怎么升级版本?

5、view的事件分发机制的理解,出现滑动冲突怎么办?

5、线程T1,T2,T3,T5,T6,怎么按顺序执行?

6、跨进程通信有哪些?AIDL能传对象吗?说一下binder的工作机制?

7、说一下你了解的一些图片开源框架?怎么选择?

8、项目安全方面,你们是怎么做的?

9、还有什么问题想问的?

总共面试了大概一个半小时,然后就回去等通知....他们不是专门做Android的,但是有一个是移动端的架构师,所以问得很底层....

腾讯

腾讯找我,我很意外,因为我并没有投腾讯,也没有约时间,好像突然袭击一样,所以接到腾讯的电话面试时候,还特么逗比的问一句:那个腾讯,是BAT那个腾讯?
(有个公司叫藤讯)

电话面:

1、自我介绍

2、说一下你项目中做了那些?主要负责什么?

3、activity启动模式有哪些?使用场景?

4、string,stringBuffer,stringBuilder区别?

5、wait和sleep区别,怎么使用?线程冲突了怎么办?

6、什么是死锁,怎么产生,产生条件,怎么解决?

7、有A、B、C、D、E这几个线程,有那些方法让他们按顺序执行?区别在哪?使用场景?

8、view的绘制流程

9、网络请求的框架了解过吗?对比一下他们的区别。

10、说说Glide的源码?

一面

1、自我介绍

2、问项目。问到内裤都没有了。

3、view的绘制原理。

4、手写冒泡、插入算法。有什么改进的地方吗?

5、平时遇到什么难题呢?怎么解决,举个例子?

6、线程相关

7、进程保活?

8、hashmap原理,冲突,解决

9、写个算法(题目忘记了)

........然后就没然后了,不过去腾讯面试,收获真的很大,很多不懂的,和大神请教....我感觉腾讯的面试就是一个问题从浅慢慢深入,问到你不懂为止。

总结+分析

简历首选内推方式,速度快,效率高啊!然后可以在拉钩,boss,脉脉,大街上看看。简历上写道熟悉什么技术就一定要去熟悉它,不然被问到不会很尴尬!做过什么项目,即使项目体量不大,但也一定要熟悉实现原理!不是你负责的部分,也可以看看同事是怎么实现的,换你来做你会怎么做?做过什么,会什么是广度问题,取决于项目内容。但做过什么,达到怎样一个境界,这是深度问题,和个人学习能力和解决问题的态度有关了。大公司看深度,小公司看广度。大公司面试你会的,小公司面试他们用到的你会不会,也就是岗位匹配度。

选定你想去的几家公司后,先去一些小的公司练练,学习下面试技巧,总结下,也算是熟悉下面试氛围,平时和同事或者产品PK时可以讲得头头是道,思路清晰至极,到了现场真的不一样,怎么描述你所做的一切,这绝对是个学术性问题!

面试过程一定要有礼貌!即使你觉得面试官不尊重你,经常打断你的讲解,或者你觉得他不如你,问的问题缺乏专业水平,你也一定要尊重他,谁叫现在是他选择你,等你拿到offer后就是你选择他了。

另外,描述问题一定要慢!不要一下子讲一大堆,慢显得你沉稳、自信,而且你还有时间反应思路接下来怎么讲更好。现在开发过多依赖ide,所以会有个弊端,当我们在面试讲解很容易不知道某个方法怎么读,这是一个硬伤......所以一定要对常见的关键性的类名、方法名、关键字读准,有些面试官不耐烦会说“你到底说的是哪个?”这时我们会容易乱了阵脚。正确的发音+沉稳的描述+好听的嗓音决对是一个加分项!

最重要的是心态!心态!心态!重要事情说三遍!面试时间很短,在短时间内对方要摸清你的底子还是比较不现实的,所以,有时也是看眼缘,这还是个看脸的时代。

希望大家都能找到合适自己满意的工作!fighting!

末尾福利

《Android高级架构师面试指导+2020大厂面试真题》

更多学习视频

由于简书限制网盘链接,在我主页扫描我的二维码,我免费分享给你

推荐阅读更多精彩内容