击上方“终端研发部”,选择“星标”
回复“资源”,领取全网最火的Java核心知识总结~
作者 | 倾听潮汐
来源 | nowcoder.com/discuss/57771
自我介绍
本文作者妹子,985硕士,211本科,专业都是软件工程,一直投的是java后台开发,只投过一次网易的测试,技术不是大牛,但是比较努力。实验室没有项目,so项目经验是0,在去年这个时候看到实验室师兄找工作的艰难,因此开始复习的时间比较早。
最开始先看的java基础,看的毕某某的视频,后面就看框架视频,后来也看过某某学院的视频,都是在网上找的免费的。《剑指offer》刷了一遍,有些重点的题一定要滚瓜烂熟。《大话设计模式》《mysql必知必会》《程序员面试金典》《java并发编程实战》《计算机操作系统第三版》《计算机网络》都看了一遍,《深入理解java虚拟机》看了两遍。《java编程思想》《Java数据结构和算法中文第二版》《Spring技术内幕:深入解析Spring架构与设计原理(第2版)》《Struts2 in action中文版》《tcp详解卷一》挑的重点看。
现在觉得最后悔的是leetcode没有刷,有时间一定要刷,有时间一定要刷,有时间一定要刷,对解题思路很有帮助。因为没有项目经验,就在网上找了一个项目,对于项目中的问题一定要很熟,用到的技术不仅要会用,还要理解底层,反正每次都会被问,感觉面试官对什么高并发的东西挺感兴趣的。
我主要是想找成都的公司,但是最开始海投的时候,不管公司在哪里,我都投了,反正投的公司有几十家,我认为多面几家公司可以多增加一点面经。多关注一些技术群,有很多内推信息(很多公司内推可以免笔试,这是很爽的!!),我的前两个offer都是内推的(美团和携程),因为美团是成都的,自己也比较满意,所有后面很多公司的面试都没有去,但是建议还投的时候还是都投,先拿一个心里有底。
排名按面试时间
蚂蚁金服-内推的,面了3面技术
1面hr(在池子中泡了3个多月,最后还是gg了)这是我秋招的第一次面试,别提多紧张了,声音都在发抖,自我介绍都不知道说什么。。。
1.自我介绍(说的很乱)
2.序列化的底层怎么实现的
3.synchronized的底层怎么实现的
4.tomcat集群怎么保证同步
5.了解nosql吗?redis?
6.怎么解决项目中超卖的问题
7.int的范围
8.有什么想问的?我问对于没有实现经验和实际项目经验的,阿里会考虑吗?面试官说对于应届生,阿里还是最看重基础。我:你们平时怎么学习技术?面试官:从实际项目中学习。。。面完之后,面试官说我基础可以,给我过,我能走多远就不知道了,反正很谢谢这位面试官,给我的秋招增加了很多信心,毕竟是阿里的面试官说我基础可以。
二面
清楚的记得二面是在晚上7点左右,刚走到教研室楼下,看见是杭州的电话,顿时激动了,然后一接,果然是阿里,因为下面很吵,我就一口气跑到5楼,然后喘着粗气进行自我介绍。。尴尬
1.问了项目中超卖的问题怎么解决
2.你熟悉什么数据结构
3.说说快排,我说了快拍实现的过程,相当于口述代码,然后问了复杂度
4.int的范围,我说的是2的-31次方到2的31次方-1,面试官说具体点,我就不知道了
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.类加载
hr面
不记得3面和hr面之间间隔多久了,也是晚上6,7点收到的电话
1.自我介绍
2.有什么优点?
3.有什么缺点?
4.项目中遇到的困难?怎么解决
5.意向城市 时间已经过去太久了,只记得这么多,可能有些问题不是阿里面试官问的,但都是在面试过程中遇到的,希望能帮到更多的人。关注公众号:终端研发部,回复java可获得java相关的学习大礼包一份!
携程(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.有什么想问的
以上就是参加的所有面试总结,总而言之,作为技术人员就要保持终生学习的态度,让学习力成为核心竞争力,才能不被时代所淘汰,高效的时间支配能让你变得更加优秀。
阅读更多
Google 开源的依赖注入库,比 Spring 更小更快!
java.lang.String 的 + 号操作到底做了什么?
相信自己,没有做不到的,只有想不到的
在这里获得的不仅仅是技术!
喜欢就给个“在看”