本文首发于微信公众号:程序员乔戈里前端
1.首先说说简历,好多人都问过我,乔哥,进入bat这样的大厂是否是学历都须要211,985 其实,不是的,此次我面试的这个同窗就是二本院校出生,我身边认识的 苦逼的码农 和 编程剑谱 的号主都是二本出身,也都拿下了BAT的offer,因此BAT这样的大厂并非必定要211,985学历。继续说回到这位同窗吧,这位同窗虽然是二本,可是简历仍是经过层层筛选,进入到了面试环节,确定有一些过人之处。我看了看这位同窗的简历,果不其然,仍是颇有料的。java
我感受能够用 光鲜亮丽 这四个字来形容,这位同窗得到过蓝桥杯省赛一等奖、蓝桥杯国赛二等奖、计算机web大赛(具体名字忘记了)国赛一等奖、校级奖学金若干,在学校经历方面计算机团委、班长等(虽然这些经历对于技术面试并无什么做用,可是仍是能够看出来是个很积极的同窗),熟悉掌握Java等之类的。git
看完之后,首先是以为这同窗这经历能够,虽然蓝桥杯不如ACM有含金量,可是能拿省赛一等奖应该编程功底不差吧;另外一方面也想了想HR的筛人标准:对于学历非985/211的学生,应该在某一方面有比较亮眼的成绩,简历筛选应该就不是问题吧。程序员
看完简历后,就是约面试了,leader让我约面试,电话面试就行,可是我想得仍是视频面试一下,也能看看在线编程,因此我本身去牛客网认证了一下,成为了牛客网的面试官,能够发起视频面试,能够看到面试者手写代码,也能够看到面试者有没有切出去浏览器界面,正常面试者应该不会频繁切除当前的视频面试界面,做用仍是很大。github
照例让面试者进行了一波自我介绍和项目亮点,这里建议你们自我介绍的时候尽可能说一些和技术相关的,不要说一些和技术无关的内容,这位同窗在面试时候说了本身的班委团委经历之类的,其实我是不感兴趣的,毕竟是招来作开发的,技术OK就行。web
项目这里我问了问这名同窗有什么亮点,(这个问题基本大多数面试官会问),这里他没说任何技术上的亮点,感受只说了一些项目的背景,提出这个想法很好,这里感受这样说不太好,这但是技术面试,说些技术上的亮点比较好。面试
具体思路能够参考一下这篇文章:能够做为你项目亮点的文章!算法
毕竟是第一面,主要仍是考察计算机基础知识:计算机网络、操做系统、数据库、Java基础、Java集合、JVM虚拟机、Linux、手写算法这些。因此看他项目没啥说的,我就直接开始问这些了,这些若是答得好的话,基本一面是OK的。数据库
我问的问题基本能是我以前准备面试的时候整理的别人面经上的问题,并本身总结了一份答案,具体这份面经和答案已经同步到个人的github:https://github.com/gzc426/Java-Interview (记得给个Star),掌握我这个github上的内容,不说我这一面了,99%的公司一面都难不倒你。编程
画外音:求求您给个Star吧!
我首先问了Java基础,八种常见数据类型、拆箱封箱、重载和重写、String和StringBuffer/StringBuilder的区别、Object的方法/EQUALs和==的区别等都回答的不错,而后我问了int和Integer在输入框输入了一道题,让他作一下。
Integer a = new Integer(100);
Integer b = new Integer(100);
a == b复制代码
问他a和b是否是相等,他说相等,当时我心里OS:???
我就想问问他是怎么想的,我就说:“嗯,为啥是相等?”,他说,Integer是有个缓冲区(-128~127),100在这个缓存区之内,因此是相等的。
我当时就说:你再好好想一想,而后再回答这个问题。(其实我这么说,是想让他说出正确的答案),若是面试官让你说你再想一想,要想一想本身是否是刚才说错了,由于我以为这个问题,不该该搞错呀。
而后他又继续说了一遍刚才的回答,没有说出正确答案,而后我就和他说这个两个不相等,是比较的两个对象的地址,这里我有点失望。
OK,继续问问HashMap ,依次问了HashMap的原理、get、put方法、JDK1.7和JDK1.8的区别,回答的都不错,而后问了HashMap为啥是线程不安全的举个例子说明一下,没回答上来,那HashMap翻篇,这块还行。
继续问了ConcurrentHashMap,他说这块还没了解,OK,那Java这一块先这样吧,问点Linux、计算机操做系统、数据库、计算机网络吧,Java基础这一块还行勉强OK。
我:Linux 怎么打开一个文本他:vi我:怎么进入编辑模式进行编辑?他:这块以前用过,如今忘了。。。
到这里,感受他应该很长时间没用过Linux了,或者以前就没接触过Linux,这么基本的都不知道的,真的太伤了。
我继续问:怎么查看CPU,仍是不知道,我继续问怎么查看内存,也不知道,怎么查看文件大小,仍是不知道,看来Linuyx这一块真的是很欠缺,这都很基本的了,也没问啥复杂命令。
这里和你们要说的是,Linux基本大多数公司开发的时候都会用到,不会Linux的话必定要去学一学,这些Linux命令不会真的可能会让面试直接失败。
恰好最近双11,阿里云有活动,云服务器新用户只须要7元一个月就能够购买了,云服务器能够学习Linux搭建Web网站,拼团进入前100还能够瓜分100W现金,目前个人团已经在前100了,想买云服务器的能够扫码进入个人团,若是进入前100瓜分红功,我会联系加入我入团的朋友返红包给你们
画外音:原创不易,就当加个鸡腿吧~
好的,继续回来,既然Linux这块什么都不会,那问问其它的吧。
我:问点计算机网络,三次握手和四次挥手说一下
他:三次握手就是创建了链接,发送了三次,四次挥手就是断开链接。
我:能具体些吗?说一下状态,链接时候发送的SYN值的状况?
他:这个不知道。
这里和你们说的是,三次握手和四次挥手真的是面试必考的了,过程必定要熟悉,能在纸上完彻底全的画出来的那种程度
我:为啥要三次握手不是两次握手和四次握手?他:四次握手成本高,不必,两次握手不了解。
嗯,这里以前有写过文章,这篇,【漫画】TCP链接为何是三次握手,而不是两次握手,也不是四次握手?
我:状态码3XX、4XX、5XX
他:不了解。。。
我:OSI七层说一下
他:七层不了解。。。。
这块问了进场和线程的区别,同步异步的区别,都回答得不错,问了阻塞和非阻塞,没回答上。
问了ACID,这个居然不知道,问了索引是什么,也不知道。。。。
问完计算机基础之后,感受他计算机基础这块掌握的太差了。
看他简历上是得过蓝桥杯国赛二等奖,那么考一道手写算法题吧,我也没出很难的,出了一道合并两个排序链表。
而后他写了半个小时,也没写出来,好吧,那面试就到这里结束吧。
要关闭页面的时候,我忽然发现这些,额,在我和他面试的一个半小时期间,他大概切出去了这个面试页面有100屡次
不知道他切出去页面干什么去了,咋也不敢说咋也不敢问,建议你们不要切出去页面,面试官都会看到的,反正切出去页面印象确定会很差的。
若是他计算机基础能回答得不错,手写面试题能写出来,我这里会给他经过的。
若是是头条用户,能够在个人头条号程序员乔戈里后台回复 资源获取价值59998元的编程和考研资料
以为文章不错的欢迎关注个人WX公众号:程序员乔戈里
我是BAT大厂后台开发工程师,,专一分享技术干货/编程资源/求职面试/成长感悟等,关注送5000G编程资源和本身整理的一份帮助很多人拿下java的offer的面经附答案,免费下载CSDN资源。
若是你对算法感谢趣,欢迎关注个人公众号 图解算法,使用Python/Java/前端/C++四种语言对Leetcode和剑指offer进行漫画讲解,帮助你快速搞懂算法!