如果感觉自己能力不强,又想去BATJ,我的经验对你将很有用!
作为一个渣渣的小硕,学校我就不说,不然就又要被发现了(上次就被人在牛客网发现了,我也是无语)。好了,言归正传。
我知道,现在牛客网上有很多人发面经,真的很好,很有参考价值。
但是希望大家注意下,有些面经或者说是学习经历是不可以复制的比如:我之前看到一个大牛发的帖子(介绍了下他大一,大二都去哪里实习了,什么样的实习经历。。。然后,现在拿到哪些公司的offer,)我很崇拜这样的人。
如果说,你还没到毕业找工作的时候,大一,大二,研一,我希望大家去看这些类似的帖子。比如:某神。但是 ,如果说你快毕业了,应届生,需要需要求一份工作,不知道怎么去准备面试,希望你来这里,看我的帖子。我的准备经验应该能给你很高的帮助。
3月左右
阿里电面 一面挂了:第一次,不懂怎么去面试,也没去准备,啥都不知道。阿里面试官其实挺不错的,聊了一会人生,然后就问我一个技术题目:“你怎么向你的师弟师妹形容一下***的原理”。当时
我就懵了,***! 我都是用 蓝灯的啊。原理,***?不懂。然后就 挂了。
从这里开始我就深刻的认识到自己的不足,啥都不懂。太菜了。
从此,我就走上了准备 面试的道路上。。。。。
由于我投的都是Java岗。所以,我要准备都是和Java相关的知识。
1,深入理解Java虚拟机。--必考。
2,并发编程--推荐 《Java并发编程的艺术》--必考
3,Spring ,Hibernate ,Struts2,MyBatis。 --如果时间不够可以 深入理解 SpringMVC。最起码 需要知道SpringMvc的原理。
然后,大家还需要深入理解Java基础,比如:
Hashmap,HashTable,的区别,使用场景,还有其他的什么解决并发的方案吗?
4,针对并发问题:推荐 深入 研读 Java.util.concurrent包下的所有 并发类的区别是啥。原理是什么,有什么优缺点。推荐一个网站:http://ifeve.com/
-------------------------------------上面只是Java基础,但还远远不够------------------------------------------------------
你确实懂Java基础了。但是校招是很重视基础的。所以,你还需要把本科学习所有数据结构,和基础算法熟悉一遍,牛客网里的题目是很好的锻炼方式。
1,队列,栈,散列,树最重要的应用领域 (比如B*,B+树), 图。
2,还有几类查找算法 排序算法,时间复杂度,是多少,? 推荐个人博客:http://blog.csdn.net/sjyttkl/article/category/6849017
-------------------------------------上面还是基础,还远远不够---------------------------------------------
既然是面Java相关,也是做偏向后台开发咯。所以你肯定懂数据库,一种数据库就够了。比如:msyql。但是,我觉得,现在做后台开发,
大家千万不要忘记一个 最重要的一点就是:均衡负载,均衡负载,均衡负载。重要的事情说三遍。。。。。
推荐一本书:《高性能Mysql》。
你需要注意以下重点:1,有哪几种Mysql集群模型,有什么区别,应用的场合是什么。比如:主-从模式。主要应用在 读大于写上,比如淘宝
“一个人去淘宝买东西,肯定是先浏览很多次,然后在去购买。”反映到数据库上去就是读-写,好了,不深入写了,大家看《高性能Mysql》吧!
还有几个重点:也是关于均衡负载的东西:CDN ,方向***,正向***,TCP滑动窗口和拥塞控制?。外加上 网络的三次握手四次挥手。
最后大家就继续刷点题目吧:从 《剑指offer》开始,看看左神的视频就好。
现在就来继续面试吧。
7月中旬, 我刚刚从三星南京研发大楼出来,阿里给电话了。阿里一面还是挂。
1,项目相关的问题:项目太水真是拿不出手。就不展开细节了。但是项目问题聊了很久时间。我也是无语。
2,SpringMvc原理。
3,HashMap原理,
4,队列,栈,快排。
5,虚拟机的内存模型。怎么可以实现同步?
。。。。。。。。。。。。忘记了,大多都是些基础的问题。
原因:看的太多忘记了也多。本人记忆不是很好。在面试的时候有一个问题没有回答上来:面试官问我 线程池原理。而我说成 数据库连接池!最后,他说,基础不错。线程这块差了点。
没办法了,因为当时在南京实习,所以只有白天偷偷看面经,复习知识点。晚上继续看到2点左右睡觉。
7月底,突然收到京东提前批的面试:
一面:
1,自我介绍。
2,面试官,问:你会什么?,我:Java。面试官:你说说Java运行时区域。我:balabalabala说完。
3,内存模型
4,虚拟机
5,插一句:面试官让我说说数据结构,我直接介绍 查找算法,面试官懵了。他说:我是问你数据结构比如:堆栈什么的。我恍然大悟,估计当时是有点紧张了。
6,介绍线程和进程的区别。这个回忆下当时我考研得时候复习的内容。重点问题是:分析下线程是存储在哪个地方。当时我也是懵了,经过自己现场的推断的得出结论是:栈里。回去查了下,好像对了。
7,怎么判断一个链表有环。这个刷过题的都知道了。
8,怎么达到同步:介绍下voliate,cycleBarrier.countlauntch 等等,。
9,Voliate原理。我没回答对。
10 ,了解下项目的知识:SpringMvc原理什么的。
11,但是,但是面试官很想问我关于机器学习的知识(最后我收到offer才知道,我的职位是算法工程师):我只说了解。简单的知道神经网络,循环神经网络什么的。
12,ArrayList,HashMap,等基础问题,也是被问的,这都没啥好说的了。
二面:
1,自我介绍--这次的自我介绍我可是准备好了的。从公司我二楼走到一楼都没说完。
2,项目介绍--重点介绍我之前和队友参加的一个京东的算法比赛。介绍完了,之后,我就说自己对机器学习并不是特别深入理解,只能说是了解。-----当时差点就说了,自己是抱大腿的。
3,上一个一样,会什么啊?Java。又来了
4,快排描述,时间复杂度,是否稳定---答案是:我测过啊。当时都笑了。
5,同步,还是同步,线程的问题,这个很重要。。。一直被问。
6,线程池的问题--这次一点都不慌了。当听到这个问题,我是真的笑了。
7,在线程同步上估计说了20分钟(一共 55分钟)
8,介绍对机器学习的理解。比如:卷积神经网络,坦诚的说:没具体的用过,只是 做个小demo,识别下小图片而已。理由是:电脑配置差。
然后又问我 RNN 。我直接说,我不懂RNN,我只懂CNN,现在想想也是好笑。很无奈啊
9,怎么在一亿个数里找出前几名数字:我首先说的是桶排序:因为再大的数字位数也是有限的。。最后才知道,他想让我利用 散列表搞定。
10,其他的问题,我也不怎么记起来了。大概总共能时间就是 55分钟。
HR面:
我也是全忘记了。反正最后收到offer,白菜价咯。谁让我水呢?
--------------------------------------------------百度 面试 百度运维--------------------------------------------------------------
一面:
不好意思?最近没更新,在改 我的论文,过几天就要 交了,所以一直没更新。
我打算,10月1号再更新。