多年前自己刚来北京找工作的时候,面了一个星期 面了七八家公司才拿到一个offer。而上次跳槽面了不到10家公司基本全过而且都给到了期望的薪资,本来自己在面试前没想到能够这么顺利,回想起来还是自己准备的方法比较得当!

先说前提

此方法适用于培训机构,专科,普通本科毕业的同学,工作经验在1到5年之间。(985,211大学的同学或者研究生,技术大拿可以不用往下看了,因为他们本身的面试通过率就很高。。)

(另外,此方法不改假简历,不改工资条,没有虚假的东西!)

再说效果

毛主席说过:

实践是检验真理的唯一标准!

我和我媳妇都是普通本科毕业,使用这个方法现在已经分别入职了BAT。

从本质看面试

之前在某浪做过一段时间的一面面试官,面了很多同学,大部分都没见到我领导。遇到其中有很多同学就连最基础的问题都答不上来,比如: HashMap,多线程,jvm,Shuffle这些。还有一个印象特别深刻的同学(叫他同学A吧),他本身薪资就不低,而且之前也是一个小团队的leader,面试过程相当流畅,我提完问题之后他总能很快的流利的长篇大论的回答出来,在hr看来这个人真的很不错,但是其实他的回答却我的问题关系都不大。。。当我特别说明,要他直接回答我的问题(java基础)的时候,他却答不出来,这真的很尴尬。。

还有一部分同学,在回答一些问题的时候很不完善,如果你不去引导一下,他的回答可能就结束了,但是如果你提示一下,他还能想起来,接着沿着正确的方向完善他的答案。

毛主席还说过:

我们看事情必须要看它的实质,而把它的现象看作入门的向导,一进了门就要抓住它的实质,这才是可靠的科学的分析方法。

那么面试的实质是什么?

我认为是: 储备展示 !

面试的过程就是把你的知识(技术)储备展示出来的过程,徒有一身本领却展示不出来和没有有什么区别? 光有一张嘴侃侃而谈,谈的都是错误的理论或者虚无缥缈的东西,面试结果自然可想而知!

下面我分享一下我在这两个方面是如何做的!

储备

储备的内容

储备的内容很简单,用的什么语言,做的哪个方向的开发,以java大数据为例:

  • java基础:jvm,gc,map,多线程等等
  • 算法: 8大排序和几个查找算法等基础算法必会 + leetcode上一些初级的算法(一般做业务的岗位不会问特别难得算法)
  • 数据结构: 我这里有一本大话数据结构的pdf书,看着一本就够了。
  • 各种框架原理: 比如,spring必问的aop,ioc。zookeeper必问的:选举机制,使用场景(分布式锁)。hadoop必问的hdfs如何实现高可用。mapreduce必问的shuffle过程。spark必问的为什么比mapreduce快。等等等等

以上几点应该是问的最多的了,当然像 设计模式,操作系统,网络问的相对少一些了。(操作系统一般问线程和进程区别,网络一般就是tcp3次握手4次挥手了)

这些基本上就是面试时技术上需要问到的东西了,(我整理了一份我之前面试准备的比较全的面试题,见末尾分享)。问什么我们知道了,那如何准备呢?

当然是把这些问题全都一一搞清楚,记下来啊。

对啊,记下来,关键是怎么记?! 比如mapreduce的Shuffle过程中的每一个细节是什么? 很多同学都不写mapreduce,公司都已经开始使用spark,flink了,而且不会的话也不太会影响工作(遇到性能瓶颈的时候如何调优可能就会有影响了)。

针对知识储备的秘籍是: 把一个或者一类重要的知识点搞懂之后,整理出来 然后背诵! 像背课文一样背诵!

背诵方式1:

以jvm为例:我整理了这么一张纸打印出来:

这是我有道云的截图,把jvm的知识点全部打印到A4纸的一页上(类似这样的一页纸我还有 gc,hashmap,多线程等),早晨早到公司找个没人的地方可以开始背诵了。

背诵方式2:

A4纸太大了,不方便携带,我还弄了一个手掌大小的小本子(随身带身上,还有一杆笔),记录了一些常用算法(比如树的非递归遍历) 和 一些原理的图(比如 jvm的新生代,老年代,永久代的图)。有时间就(比如坐地铁的时候)复习复习。(多记几次就很熟了)

展示

说完了储备来说展示,我认为展示有两种方式

1、纸上作答(有可能是算法题,有可能是原理题)

2、口述回答

纸上作答就不多说了,储备的知识准备好了,写出来很容易。原理题就直接画图,一张图基本上就解释清楚了。

重点来说说第二点口述回答

口述的回答一般分为三类:

1、技术类,原理类,算法类的题目

2、根据工作经验提问题

3、hr常规问题(为啥离职。。等等)

第三类问题不说了,提前准备好就行,一般情况下不会决定面试的情况。

针对展示的秘籍,也是最重要的秘籍是:模拟演练!动嘴去说! 把问题的答案说出来,直到说的流畅,说的调理清楚,说到让面试官任务你对这些东西理解很深,很自然的就说出来了。(说多了之后,真的就理解很深了)

这里我用了一种方法: 因为我媳妇也是开发,我就练习给我媳妇说,说完之后她来点评: 比如 漏了几个点,哪个地方有点结巴,语速有点快,发音不准。。。(她不告诉我我真不知道) 直到改掉这些不足。

当然聆听的同学也不一定是开发,因为这里重点评估的是说上的不足,而不是说的内容里的知识点的对错(对错你自己知道)。

你就算把自己的回答录下来再听一遍(自己给自己当面试官),你能都发现自己回答过程中的很多不足。多录几次,多听几次 一定获益匪浅!

除了上面两个秘籍,我还有4个面试tips送给你:

一: 有可能的话去引导面试官

比如你的工作经历上写了2个项目,但是其实你对项目2比项目1熟悉的多,如果面试官总问你关于项目1的问题,你可以适当的把他的问题引导项目2中(这就要看你回答的时候如何衔接了)。但是一定要注意千万别像前面的A同学那样,引导的太过了。 这就好比在高速上开车,目的地是通过面试,你可以变道,但绝不能掉头!

二: 回答问题注意下语气,让面试官听语气就感觉你很懂。可别真成背课文了。。

大家都懂。

三: 不会的题目也要仔细思考,说说你的思考过程,思考的思路

不会的问题千万别直接说不会,这样面试官对你的印象最起码是: 某方面薄弱。

所以要思考,找不到答案,也要说出来你是如何思考的,思考的过程,和遇到的问题给面试官说出来,这样面试官可能对你的印象是: 这题不会,但是还有些思路,还可以。

实在不会而且没有任何思路的,你也要"演一演",显得你好像知道这个问题,但是忘记了的样子,演完之后再说想不起来了。。。

四: 打铁还需自身硬

技术类,原理类的问题是必要条件,是必须要过的,不一定要全部回答出面试官的问题,最起码七成要回答上来。

关于业务类问题一定要说明以下几点:

1、why,为什么有这个项目,产生的背景是什么

2、how,这个项目上怎么做的

3、what,这个项目解决了什么问题(优点)

4、get,这个项目得到的收益是什么(比如减少xx%人力资源)

5、这个项目中你遇到了什么困难?如何解决的?

最后祝大家面试顺利,加油!
公众号: 程序员灯塔 (code12306)

回复 '大话数据结构',获取<大话数据结构pdf>书。

回复 'java大数据面经',获取拿到了百度,网易,美团,头条offer的同学的面经+面试题

回复 'java基础题' , 获取java基础面试题(非常详细)

回复 'java后台面经' ,获取一个java后台妹子在携程、美团、58、中兴、滴滴、华为的面经和复习心得

转自:进bat的面试秘籍,成功率80%

 

如何进BAT,有了这个篇面试秘籍,成功率高达80%!!(附资料)的更多相关文章

  1. 走向DBA[MSSQL篇] 面试官最喜欢的问题 ----索引+C#面试题客串

    原文:走向DBA[MSSQL篇] 面试官最喜欢的问题 ----索引+C#面试题客串 对大量数据进行查询时,可以应用到索引技术.索引是一种特殊类型的数据库对象,它保存着数据表中一列或者多列的排序结果,有 ...

  2. 51Testing丛书新作《软件测试工程师面试秘籍》

    51Testing又有好消息告诉小伙伴了!51Testing软件测试网作品系列重磅推出全新丛书<软件测试工程师面试秘籍> 此次我们邀请到知名互联网企业测试专家李江(G.li),整理并撰写软 ...

  3. Steve Yegge:Google面试秘籍

    我憋了很长时间想写点关于去Google面试的秘籍.不过我总是推迟,因为写出来的东西会让你抓狂.很可能是这样.如果按统计规律来定义"你"的话,这文章很可能让你不爽. 为啥呢?因为啊- ...

  4. 史上前端面试最全知识点(附答案)---html & js & css

    史上前端面试最全知识点(附答案) 一.html & js & css 1.AMD和CMD是什么?它们的区别有哪些? AMD和CMD是二种模块定义规范.现在都使用模块化编程,AMD,异步 ...

  5. 中高级Android大厂面试秘籍,为你保驾护航金三银四,直通大厂(上)

    前言 当下,正面临着近几年来的最严重的互联网寒冬,听得最多的一句话便是:相见于江湖~.缩减HC.裁员不绝于耳,大家都是人心惶惶,年前如此,年后想必肯定又是一场更为惨烈的江湖厮杀.但博主始终相信,寒冬之 ...

  6. BAT网络运维常见面试题目总结

    BAT常见面试题目总结 Author:Danbo 2015-7-11 TCP/IP详解鸟哥Linux的书网络安全ping的原理make的过程文件有哪些类型各种Linux发行版的区别.有关suid的作用 ...

  7. bat(批处理文件)初步 第一篇 基本符号

    近期我使用的一款软件中须要大量的环境变量设置,而我又不想讲这些变量都加入到系统的环境变量中,一方面是由于有一些同名的库文件的版本号却不一样,都 写在系统环境中会相互干扰:还有一方面则是大部分的路径仅仅 ...

  8. 如何进bat

    既然是要谈如何进入BAT,那么咱们就从面试的角度来谈学习这件事,会谈谈一流互联网公司对于Java后端程序员的要求,相应的,也会谈谈如何达到这样的要求. 为了简单起见,这些要求分为三个层次,分别为基本要 ...

  9. 【BAT面试题系列】面试官:你了解乐观锁和悲观锁吗?

    前言 乐观锁和悲观锁问题,是出现频率比较高的面试题.本文将由浅入深,逐步介绍它们的基本概念.实现方式(含实例).适用场景,以及可能遇到的面试官追问,希望能够帮助你打动面试官. 目录 一.基本概念 二. ...

随机推荐

  1. SOS DP学习笔记

    Sum over Subsets(SOS) DP 一.引入 给出一个长度为\(2^n\)的数组\(A\),对于每一个\(mask< 2^n\)要求计算出\(f[mask]=\sum_{sub\i ...

  2. hdu5790 Prefix(Trie树+主席树)

    Problem Description Alice gets N strings. Now she has Q questions to ask you. For each question, she ...

  3. codeforces 630K Indivisibility (容斥原理)

    IT City company developing computer games decided to upgrade its way to reward its employees. Now it ...

  4. tesseract-ocr的安装及使用pycharm来运行

    1.可以在:http://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-setup-4.00.00dev.exe 下载一个exe文件,然后直接按照提 ...

  5. fzu2218 Simple String Problem

    Accept: 2    Submit: 16 Time Limit: 2000 mSec    Memory Limit : 32768 KB  Problem Description Recent ...

  6. Codeforces Round #570 (Div. 3) G. Candy Box (hard version) (贪心,优先队列)

    题意:你有\(n\)个礼物,礼物有自己的种类,你想将它们按种类打包送人,但是打包的礼物数量必须不同(数量,与种类无关),同时,有些礼物你想自己留着,\(0\)表示你不想送人,问你在送出的礼物数量最大的 ...

  7. Java——方法及构造方法、intellij IDEA中的一些快捷键

    intellij IDEA中的一些快捷键: 一.方法基础 给你一个两个int类型的数相加的例子: 这个例子说明了 public static void main(String[] args) {}相当 ...

  8. 男孩周末班-k8s-架构图

    k8s-三层网络结构图 k8s-核心组件原理图 k8s-服务架构图 k8s-部署架构 小结 RBAC 用户账户: 角色: role(普通角色),只能运行在特定名称空间下 clusterrole,对集群 ...

  9. Leetcode(28)-实现strStr()

    实现 strStr() 函数. 给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始).如果不存在,则返 ...

  10. js的变量,作用域,内存

    一,基本类型和引用类型的值基本类型的值是按值访问的,引用类型的值是保存在内存中的对象1,动态的属性 只有引用类型的值可以添加属性方法 不能给基本类型添加属性和方法2,复制变量值 复制基本类型的值,两个 ...