多年前自己刚来北京找工作的时候,面了一个星期 面了七八家公司才拿到一个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. 【uva 1349】Optimal Bus Route Design(图论--网络流 二分图的最小权完美匹配)

    题意:有一个N个点的有向带权图,要求找若干个有向圈,使得每个点恰好属于一个圈.请输出满足以上条件的最小权和. 解法:有向圈?也就是每个点有唯一的后继.这是一个可逆命题,同样地,只要每个点都有唯一的后继 ...

  2. Java-Swing的JFrame的一些插件使用详解

    JFrame介绍: 在 JFrame 对象中可以使用add方法添加 AWT 或者 Swing 组件. JFrame 有一个 Content Pane,窗口能显示的所有组件都是添加在这个 Content ...

  3. zjnu1725 COCI (类似二维树状数组模拟)

    Description The 3rd round of COCI is already here! In order to bet on predict the scores, we have as ...

  4. AtCoder Beginner Contest 177 E - Coprime (数学)

    题意:给你\(n\)个数,首先判断它们是否全都__两两互质__.然后再判断它们是否全都互质. 题解:判断所有数互质很简单,直接枚举跑个gcd就行,关键是第一个条件我们要怎么去判断,其实我们可以对所有数 ...

  5. k8s二进制部署 - 总结

    镜像仓库: 安装软件:docker.docker-compose.harbor.nginx 1.下载cfssl.cfssljson.cfssl-certinfo,增加执行权限并放在PATH环境变量路径 ...

  6. 4.Redis客户端的使用

    标题 : 4.Redis客户端的使用 目录 : Redis 序号 : 4 Console.WriteLine($"北京和天津之间的距离是:{distance}公里"); #### ...

  7. python工业互联网应用实战6—任务分解

    根据需求定义"任务"是一个完整的业务搬运流程,整个流程涉及到多个机构(设备)分别动作执行多个步骤,所以依据前面的模型设计,需要把任务分解到多个连续的子任务(作业),未来通过顺序串联 ...

  8. VScode 配置c++环境

    参考 https://code.visualstudio.com/docs/cpp/config-mingw https://zhuanlan.zhihu.com/p/77645306 主要 http ...

  9. 使用LCX进行内网端口转发

    Lcx.exe是一个端口转发工具,相当于把目标服务器A上的3389端口转发到具有外网ip地址的B机上(即我们自己的主机或是已经控制的主机),这样链接B机的3389端口就相当于链接A机的3389端口了, ...

  10. Linux 驱动框架---设备文件devfs

    设备文件系统 Linux引入了虚拟文件系统,从而使设备的访问可以像访问普通文件系统一样.因此在内核中描述打开文件的数据inode中的rdev成员用来记录设备文件对应到的设备号.设备文件也由一个对应的f ...