java后台 妹子 面经(美团阿里携程58贝贝招银华为等)
本人妹子,985硕士,211本科,专业都是软件工程,一直投的是java后台开发,只投过一次网易的测试,技术不是大牛,但是比较努力。实验室没有项目,so项目经验是0,在去年这个时候看到实验室师兄找工作的艰难,因此开始复习的时间比较早。最开始先看的java基础,看的毕向东的视频,后面就看框架视频,后来也看过尚硅谷的视频,都是在网上找的免费的。《剑指offer》刷了一遍,有些重点的题一定要滚瓜烂熟。《大话设计模式》《mysql必知必会》《程序员面试金典》《java并发编程实战》《计算机操作系统第三版》《计算机网络》都看了一遍,《深入理解java虚拟机》看了两遍。《java编程思想》《Java数据结构和算法中文第二版》《Spring技术内幕:深入解析Spring架构与设计原理(第2版)》《Struts2 in action中文版(jb51.net)》《tcp详解卷一》挑的重点看。现在觉得最后悔的是leetcode没有刷,有时间一定要刷,有时间一定要刷,有时间一定要刷,对解题思路很有帮助。因为没有项目经验,就在网上找了一个项目,对于项目中的问题一定要很熟,用到的技术不仅要会用,还要理解底层,反正每次都会被问,感觉面试官对什么高并发的东西挺感兴趣的。我主要是想找成都的公司,但是最开始海投的时候,不管公司在哪里,我都投了,反正投的公司有几十家,我认为多面几家公司可以多增加一点面经。多关注自己学校的bbs,有很多内推信息(很多公司内推可以免笔试,这是很爽的!!),我的前两个offer都是内推的(美团和携程),因为美团是成都的,自己也比较满意,所有后面很多公司的面试都没有去,但是建议还投的时候还是都投,先拿一个心里有底。
分割线------------------------------------------------------------------------------------------
排名按面试时间
蚂蚁金服-内推的,面了3面技术,1面hr(在池子中泡了3个多月,最后还是gg了)
一面
这是我秋招的第一次面试,别提多紧张了,声音都在发抖,自我介绍都不知道说什么
1.自我介绍(说的很乱)
2.序列化的底层怎么实现的
3.synchronized的底层怎么实现的
4.tomcat集群怎么保证同步
5.了解nosql吗?redis?
6.怎么解决项目中超卖的问题
7.int的范围
8.有什么想问的?我问对于没有实现经验和实际项目经验的,阿里会考虑吗?面试官说对于应届生,阿里还是最看重基础。我:你们平时怎么学习技术?面试官:从实际项目中学习。。。
面完之后,面试官说我基础可以,给我过,我能走多远就不知道了,反正很谢谢这位面试官,给我的秋招增加了很多信心,毕竟是阿里的面试官说我基础可以。偷笑.jpg
二面
清楚的记得二面是在晚上7点左右,刚走到教研室楼下,看见是杭州的电话,顿时激动了,然后一接,果然是阿里,因为下面很吵,我就一口气跑到5楼,然后喘着粗气进行自我介绍。。尴尬
1.问了项目中超卖的问题怎么解决
2.你熟悉什么数据结构
3.说说快排,我说了快拍实现的过程,相当于口述代码,然后问了复杂度
4.int的范围,我说的是2的-31次方到2的31次方-1,面试官说具体点,我就不知道了,后来查到是-2147483648->2147483647
5.乐观锁vs悲观锁
6.gc
7.concurrenthashmap分段锁的细节
8.设计模式怎么分类,每一类都有哪些
9.并发包里了解哪些
10.b树,b+树,b*树
11.字节与字符的区别
三面
一二面只隔了2,3天,三面和二面隔了2周,当时一直以为自己挂掉了,接到电话也很突然
1.自我介绍
2.项目
3.知道哪些服务器?答:JBoss,Apache,weblogic。问:区别?
4.java有什么后端技术
5.springIOC优点
6.jdk动态***vscglib动态***,他们底层分别怎么实现的
7.synchronizedMap知道吗?他和concurrenthashmap分别使用于什么场景?
8.https过程?公钥能用公钥解吗?在客户端抓包,看到的是加密的还是没加密的?当时乱猜的加密,面试官说不对,是没加密的
9.描述一下java线程池。
10.怎么保证redis和db中的数据一致
11.设计模式怎么用到项目中?
12.类加载
不记得3面和hr面之间间隔多久了,也是晚上6,7点收到的电话
1.自我介绍
2.有什么优点?
3.有什么缺点?
4.项目中遇到的困难?怎么解决
5.意向城市
时间已经过去太久了,只记得这么多,可能有些问题不是阿里面试官问的,但都是在面试过程中遇到的,希望能帮到更多的人。
携程(offer)内推-只有一次视频面
1.链表的定义
2.怎么实现链表翻转
3.么判断链表是否有环
4.二叉平衡树,怎么用一维数组存储
5.讲讲jvm分区
6.讲讲jvm gc
7.怎么求数组的最大子序列和
8.final关键字4种用法
9.sleep用法
10.await关键字
11.线程池
12.spring ioc,aop以及其优点
13.栈和堆的定义
现在记得的只有这么多了。
美团成都提前批(收到offer)
在河畔上看到的内推消息,然后就发了邮件,3、4天后,收到邮件让去公司面试,在***三街附近。
一面
先给了一个A4纸,上面写满了题,然后就做题。做完题就自我介绍,说项目,问项目里的东西(自己一定要对项目里用的东西很熟,还要明白底层原理,我用了redis,面试官就问了redis怎么实现),然后就问java基础,面了40分钟吧,然后就让我在外面等,过了一会,二面面试官来了。
试卷题目,只记得部分
一、简答题
1.浏览器访问一个网址的时候都有哪些过程(还要了解DNS查找的过程)
2.tcp三次握手,四次分手
3.线程池
4.你了解的设计模式(面试官说什么单例模式就不用说了)
二、编程题
1.二分查找
2.树的中序遍历
三、智力题
给你一个5L和3L桶,水无限多,怎么到出4L
二面
面试官问我觉得一面面的怎么样,我。。。。然后就看我做的试卷,我竟然连二分查找都写错,面试官说不对,然后我改了改就好了,然后面试官就问还有什么可以优化的地方吗?我只说出来一个。。然后又是自我介绍,说项目,问项目,问基础。差不多也是40分钟。
三面
过了几天,收到3面邮,应该是部门boss,也是自我介绍,然后出了两个题1)一个n*n的矩阵,按副对角线打印2)4个瓶盖换1瓶酒,要和150瓶酒,他自己最少多少瓶?然后问了职业规划。感觉有1个小时。
Hr面
北京的电面,就随便聊聊。
58现场面试(offer)
两面技术,一面hr,然后就让我回来了
技术一面
1.自我介绍
2.根据58笔试题,看着问的
服务器之间怎么通信,写了一个链表反转,项目中nginx怎么配置的,什么硬件条件可以实现多线程,什么情况下多线程才能发挥作用,mysql索引底层是什么,b 树和hash应用场景
技术二面
讲项目,什么是乐观锁,以后的规划
hr面
1.项目流程
2.项目中遇到的问题,怎么解决
3.自己最大的缺点
4.喜欢和什么样的人合作,不喜欢和什么样的人合作
5.了解58吗
6.找工作有区域限制吗?家人支持吗
7.讲了讲学生活动,一个活动怎么组织的
8.有其他公司offer吗?
中兴(一面挂)
所有人在一个大厅里面,很多面试官,每个人两个面试官。
1.自我介绍
2.手撕代码1)怎么写多线程2)1,2,3,4组成的不重复三位数,都用代码写出来
3数据库会不会,我说可以,他问会什么,我说索引,然后让写sql,让我建一个表,我说这种我都是百度的,然后让我写了两个查询
4.问项目
5.会linux吗?答不怎么用,会常用命令
6.愿不愿意转测试,答不愿意,问看不起测试吗?答不是,只是自己喜欢研发
7.意向城市,答成都,只有成都吗?答,嗯
滴滴(二面挂,现场面)
一面
1.一来就手撕代码,给你三个string s1,s2和s3,判断s3能不能由s1和s2组成,s1和s2内部元素相对位置不能变,比如a 和bc,可以组成的有abc bac bca,我写的暴力的,在面试官的指导下改为了动态规划,不过最后还有不对的地方
2.自我介绍
3.hashcode和equals区别
4.实现一个类,要求要放在hashset里
5.你了解哪些设计模式?我说了一些,然后让写了一个单例,我用枚举写了一个,感觉面试官不懂,说再写一个,然后写了一个双重检查的
6.你还有什么要问的?
二面
1.说项目,被批的很惨
2.写了四次分手的图,然后问若客户端和服务器之间,1s会发生5000到6000次短链接,会发生什么问题
3.手撕代码,不断优化,最后应该是对了
4.你有什么问的吗?
招银网络(offer,现场面)
一面
自我介绍
问项目
用过log4j吗?把他输出到数据库用过吗?
一致性hash,怎么解决hash冲突
除了写代码,有什么爱好
怎么保证写的代码出错少
写自己项目中类的函数声明
有没有遇到什么有印象的bug
二面
项目,没什么好说的,反正问的很深,被怼死了
hr面
自我介绍
得过哪些奖
家是哪里
选公司的标准
抗压的能力
父母是做什么的,具体一点
父母对于你找工作的意见
对开发工作的要求,我本来说的不想做android,后来我问他们公司业务时,听hr的意思就是,如果一个项目用c写,你就用c,如果用c#,你就用c#,如果是ios,你又用iso,具体用什么语言都不确定的,然后我就说我什么都愿意做。。。。就酱
华为(offer,现场面)
一面
1.自我介绍
2.自己实现一个链表,写了以后也不说对不对
3.说项目,问了很多,还让画框架图
4.写生产者消费者代码,我用的阻塞队列
5.说我不适合研发,让转测试或资料
6.说发的论文的算法
二面
1.自我介绍
2.平时怎么提高自己的编程能力,我说刷题,他问频率,我说不忙的时候一天一次,然后他说既然刷那么多次,怎么笔试成绩还这么低。。。感觉自己给自己挖了一个坑
3.意向城市
4.自己的缺点,怎么改进
5.项目中遇到的最大的困难
6.在课题中遇到的最大困难
7.你们4人合作项目是怎么分工的
8.你有什么想问的
贝贝网
一面
1.自我介绍
2.java同步机制有哪些
3.equals和hashcode区别和联系
4.进程和线程讲讲
5.equals和==区别
5.代码题,没让写,只说了思路,有n个长方形,每个的长宽为x,y,从下往上堆,要求上面的长宽小于下面的长宽,求最多可以堆几层
6.在浏览器输入一个网址到得到页面的过程,越详细越好
二面
1.自我介绍
2.问项目,问的很深,还有什么可以改进的
3.同1面的6题
4.进程vs线程
5.平时怎么学习
6.写sql
hr面
hr和二面在一起,先二面然后hr面
1.你本来不是杭州人,愿意来杭州工作吗?为什么
2.有关注杭州其他企业吗
3.周末平时干什么
4.还有什么问题
大疆(只记得3面)
1.自我介绍
2.说项目,问项目
3.讲讲你的家庭
4.为什么来大疆
5.面过其他公司吗
6.如果主管没给你安排事情,又没有项目,你会干些什么
7.遇到的挫折,我说了一个,然后他说这不算挫折。。
8.了解大疆吗
9.有什么想问的
下面说说我的复习过程
分割线-----------------------------------------------------------------------------------------
说明:全部自学,没有项目经验,没有实习经历。
研二的时候看见师兄他们找工作很困难,在研二的时候,差不多5、6月份就把java基础视频看了一遍,在牛客网上刷了一点题,后来要写论文,java复习就不了了之了。正式复习是从今年4、5月份开始的,还是先看java的基础视频,把视频的所有东西都挨着敲了一遍,当然看到后面的时候就会发现前面的也忘得差不多了,这是肯定的,解决办法就是再看。看了基础视频之后就开始刷《剑指offer》,他是c++写的,然后在牛客网上也可以刷,可以用java写了,检查编译什么的,我就在上面把所有题都刷了一遍。在刷这个的时候,也开始看spring和springMVC的视频,我都是在尚硅谷上下的免费的。然后看了《深入理解Java虚拟机:JVM高级特性与最佳实践(最新第二版)》,每一章都要认真看,每一章都是重点。Jvm调优的那部分,我只是看了,没有自己实践,关于OOM,我自己实验了一次,面试的时候被问到过2、3次。然后看了《java程序员面试宝典》。在看这些的过程中,也一直在牛客网上刷题,我刷的主要都是和java相关的题目,目的是加深记忆。有时间一定要刷刷LeetCode的题,感觉刷了和没刷差别真的很大,刷了之后笔试通过率会高很多。然后上篇面经中提到的其他书都挨着挨着看。
关于投递简历,我是从7月份开始关注河畔的就业信息栏的,里面有很多的信息,几乎每天早上来实验室第一件事就是刷河畔,看有没有招聘信息,我是不论公司大小,不论公司在哪里,我都投。投内推一定要抓紧,我投了成都美团内推之后的2、3天,我的室友想投,然后就被告知美团成都已经满了,只有其他城市的,所以时机还是很重要。给别人邮箱发邮件的时候,一定要写好你的基本信息,包括姓名、电话、意向岗位、性别、意向城市等。校招的时候填简历真的很恶心,东西很多,几乎每个公司都要填。我建议可以拿一个本子或者自己做一个Excel来记录投的公司和流程,这样心里有数一些。
关于面试,一般内推都是电话面试,只遇到过一次视频面试。开始还是很紧张,后来面多了就好了。我内推的时候电话面试没有被要求过写代码的,但是快排说了很多次,都是问的基础,问的很深。有些面试官,比如阿里的就是不把你问到你说不出话来,他是不会停的。有的面试官感觉有一个问问题的单子,然后他就照着那个单子在问。每一次面试都是一个查漏的机会,都会出现很多自己不会的问题,包括一些你认为你会的问题,面试官问深了,你还是不会。每次面试完,我都把问题记下来,把不会的都查一遍。
找工作,自己的实力当然很重要,但我觉得心态和运气也很重要。当你被某个公司拒了之后,也不用灰心,很多面试都是玄学,我觉得题目都回答上了,然而还是被刷了。保持好的心态,在加上好好复习,再来点运气,完美!!好的offer会有的!!
资料都在下面网盘里
链接:http://pan.baidu.com/s/1c17RJVE 密码:qdk1