java面经~

Java找工作主要就是考察网络数据库操作系统数据结构和算法Java基础相关知识Java虚拟机Javaweb相关知识spring设计模式项目场景设计等等。针对每个方面多看书、多思考、多动手,掌握扎实了找工作就不是问题。

计算机网络
建议多看书,结合项目和实际场景去理解、分析和思考,不要死记硬背,否则面试时候面试官让灵活分析实际情况的话就蒙圈了。
推荐书籍
       网络是怎样连接的_户根勤
       TCP /IP协议族
       图解HTTP
       图解TCP/IP

数据库
建议看书结合实践,多看底层原理实现,多动手实践。会分析比较并设计几种常用数据库的实际使用场景,熟练写各种SQL语句。
推荐书籍
       高性能MySQL
       Redis设计与实现
       MySQL技术内幕InnoDB存储引擎

操作系统
原理方面随便找一本书就可以了,积累多了,做过一些项目之后会加深对操作系统的理解。

数据结构和算法
看书 刷题,刷题对于笔试和面试都是十分重要的,楼主也比较菜,毕竟跨专业。牛客网模考每次都参加了,当然前几次的模考简直惨不忍睹,惨到怀疑人生,后来静下心刷题,在牛客网刷题300多,lintcode刷题100多,还有刷了左神书里的题目,面试中遇到的手写算法几乎都写出来了。
推荐书籍
      Java数据结构和算法
      算法导论
      程序员代码面试指南

Java
Java考察的无非就是基础知识和JDK源码,基础知识要扎实,JDK源码常用的部分好好读一读,深入思考并理解一下人家的设计思想。Java虚拟机要是会调优的话是加分项。
推荐书籍:
      Java编程思想
      Java核心技术卷一卷二
      深入理解Java虚拟机
      Java并发编程实战
      Effective Java

JavaWeb
推荐书籍
      深入分析Java Web技术内幕
      大型网站技术架构
      大型网站系统与Java中间件实践
      从Paxos到Zookeeper分布式一致性原理与实践

Spring 
整体都有啥   IOC  AOP思想  bean如何初始化 生命周期  动态*** 等等细节的实现,能看源码最好。如果没时间都看完的话,建议IOC和AOP部分看看源码了解一下底层实现。

设计模式
熟悉集中常用的设计模式,尤其单例模式,各种都要会手写,线程安全的、不安全的、各种实现方式之间的区别等等。
推荐书籍
      大话设计模式

面试
面试的时候别紧张,自信从容一些,如果遇到了不会的就说不会,不要不懂装懂,真诚一些,找机会把会的都展现出来,会的问题回答的深入一点。
推荐书籍 
      王道程序员面试宝典
      Java程序员面试笔试宝典

项目
建议不管是什么项目,一定要深入去做,每个细节都要好好把握,要知道项目的扩展点,对于扩展要有设计思路。

场景设计
现在的面试都会考察一些实际场景的设计题,建议有时间的话多看看开源什么的,理解一下人家的设计思路,积累的多了,遇到这种问题也不会完全没有思路。

下面是我的面经:
百度
一面
1.自我介绍    跨专业问题  是否学过操作系统 数据结构 等等  是否有实习
2.项目介绍 
3.操作系统   信号量  管道  管程 网络也问了一些 都是基础的 
4.String 如何垃圾回收 、 String创建对象的方式  分别存储在哪里等等,都是细节问题。
5.Redis和MySQL区别  各自的应用场景
6.讲讲KMP 
7.哈希表 
8.spring源码 
9.开源中间件
10.手写算法  坐标系中一系列点,只可以向下、向上、向左走,求距离  不可以向左走 不可以改变坐标顺序
11.有什么想问的

二面
1.面试官上来就说二面不问基础和算法  只问工程设计题
2.介绍项目  问的很细很细  每部分的实现都问了 画系统架构图
3.redis出现故障怎么办   redis集群如何设计
4.分布式了解多少 CAP BASE理论等  分布式设计有的想不起来了 只记得这么多
5.主从复制设计方案
6.设计可用性和容错性都满足的系统  画图
7.写SQL  一个表行变列
8.TCP窗口
9.linux
10.http  cookie  
11.异步
12. hytrix
13.多线程hashmap执行put会发生什么 为什么  仔细说 发生在哪个环节  hashmap链表如果不采用头插***怎样  JDK1.8如何解决
14.手写代码  spring AOP实现拦截器,写出代码以及XML配置
15.full gc 调优过程 如何排错

三面  
1.手写算法 找出一个字符串中所有有效的IP地址
2.手写算法 读两个文件写到第三个中
3.手写算法 从日志中找出同一秒内 记录多少行
4.手写SQL  查一个学生表中所有成绩大于80分的全部信息并且按照id降序排序
5.有offer吗
6.写代码  socket 基于TCP CS都写
7.手写算法  实现生产者消费者模型
8.TCP拥塞控制
9.Linux命令问了一些
10.多线程 
11.异步
12.智力题  

四面    
1.手写算法  二叉树后序遍历 非递归
2.手写算法   一个数组中找出连续c个数字不超过T的组数有多少 用队列实现的  注意边界条件
3.手写算法  归并排序
4.MySQL和redis区别 redis不同数据结构的应用场景
5.主从同步设计
6.智力题  9个硬币 一个轻  如何用最少次数称重
7.MySQL有哪些索引
8.对Python的了解 Python有哪些数据结构  除了java 会c吗
9.爬虫怎么做的
10.redis掉电怎么办
11.讲项目 
12.了解图吗?有哪几种图,区别 遍历方式
13.智力题  

经理面  
问了问项目 实验室的项目   剩下的时间就是谈人生 谈理想  谈行业情况  谈offer选择 等等。。。。。


阿里巴巴  
1.自我介绍
2.项目
3.线程安全
4.集合类
5.ArrayList如何快速排序
6.排序算法有哪些?排序算法  
7.看过什么书
8.讲深入理解java虚拟机这本书
9.问问题  

腾讯  
1.愿不愿意来深圳,家是哪里的,是不是独生子女,跨专业的,愿不愿意C
对linux的了解
2.用过什么数据库
3.MySQL引擎及区别,项目用的哪个,为什么
4.innodb聚集索引底层实现
5.B 树实现,和二叉树的区别
6.数据库隔离级别,项目中用到哪个,有什么好处
7.数据库ACID
8.分布式事务CAP理论
9.知道一致性哈希吗?底层实现
10.HTTPS请求过程
11.对称加密和非对称加密区别
12.什么是虚函数
13.机械硬盘组成
14.项目中redis事务的应用 如何测试原子性的
15.HTTP 301 302区别
16.会不会前端,JavaScript闭包
17.字典树   

蘑菇街   
1.项目问了很多,很多,很细   如何学习新技术
2.Java  hashmap  hashtable  concurrenthashmap特点 区别 底层原理
3.class.forname classloader区别
4.object中hashcode和equals的区别
5.队列相关的源码有没有了解过
6.blokingqueue底层原理
7.又聊到项目

好未来
一面 
1.gc 什么时候垃圾回收  垃圾回收算法
2.手写算法   快排  求二叉树的深度   递归非递归
3.java基本数据类型  对应包装类
4.string stringbuffer stringbuilder区别
5. 常见的异常类型
只记得这些了
最后.为什么跨专业学计算机 ,操作系统 网络有没有学习过 

二面  
跨专业,为什么 如何学习
1.concurrenthashmap hashmap区别 底层  
2.前缀树
3.设计线程安全的hashmap  
4.项目问了很多 问的很细
5.最小堆得到最小元素  时间复杂度
6.gc算法有哪些  
7.闲聊了一些  为什么来好未来 
还有一些设计题,但是也想不起来了 

去哪儿网
一面:
1.手写算法,求二叉树的节点个数
2.java集合类有哪些,区别
3.MySQL有哪些存储引擎,区别
4.论文和专利很多,你觉得你写的论文和专利对工作有哪些帮助
5.为什么跨专业,如何学习

二面:
1.sleep和wait区别
2.volatile关键字
3.JVM启动时候注意哪些
4.频繁fullgc原因

hr面:
跨专业问题
1.项目如何从0到1,遇到困难如何解决
2.找工作看中企业哪些方面
3.去哪儿薪资福利介绍 培训介绍  

人人
一面  
跨专业问题
1.手写算法,用数组实现一个stack,不允许使用函数库
2.看项目,问项目  问的很细  
3.MySQL和Redis区别
4.get和post区别
5.post数据存在http什么地方
6.threadlocal底层实现
7.如何实现拦截器
8.time_wait和close_wait
9.Linux 如何查看内存使用情况 如何查看哪些端口被占用 如何查看IP等等

二面 
跨专业问题
1.项目  问的很多很细 还有项目的扩展
2.synchronized和volatile区别
3.什么是指令重排序
4.waiting和blocked区别 CPU是否占用
5.手写算法  顺时针打印矩阵
6.http状态码有哪些,501 502区别
7.项目用什么工具测试的  QPS经过测试是多少
8.cookie有哪些属性参数
9.Linux使用情况
10.项目在什么环境下搭建的 Linux or Windows

三面
1.跨专业问题 为什么跨专业  为什么要学计算机  如何自学的
2.讲项目  从头开始讲,讲项目由哪些内容,如何做的,遇到问题如何解决
3.手写算法:一个字符串将*放在左边,其他字符放在右边,不允许改变元素之前的相对位置
   写出不同思路,不断优化,空间复杂度要求O(1)  
4.手写算法:如何找出一个数组中出现次数超过数组长度一半的数,空间复杂度为O(1)列出所有可能的方案,讲出优化过程



美团
一面 
1.自我介绍
2.项目 从头到尾问了一遍 问的很细  谈了一下项目扩展和一些细节问题
3.JVM内存模型
4.堆栈 存的是啥  string创建对象存在哪里  Integer存哪 int 存哪
5.hashmap原理  resize过程
6.手写单例模式  两种方式实现线程安全的单例模式 对static的理解
7.Redis底层数据结构
8.spring事务  如何实现
9.两个事务同时操作  如何保证数据一致性
10.数据库隔离级别
11.TCP窗口是什么   一个计算TCP的题
12.HTTP
13.spring初始化哪个方法
14.bean如何加载  生命周期
15.aop  切面  动态***
16. @service如何加载的


二面  
1.项目 从头到尾  问的很细  问的很多 很多实际问题的设计  问了一些拓展 如何设计
2.Redis集群如何设计
3.长连接的设计题  
4.手写算法 求两个字符串的最长公共子串
5.HTTP  长连接
6.java内存模型
7.多线程  锁
8.数据库隔离级别  什么是脏读   MySQL默认隔离级别  什么是可重复读
9.HTTP有哪些方法  post和put区别
10.linux  vim命令
11.如何学习新技术  项目中的困难如何解决
12.对美团的了解  有什么问题



#阿里巴巴##腾讯##百度##人人网##去哪儿##美团##Java工程师#
全部评论
恭喜楼主,感谢分享!
点赞 回复 分享
发布于 2017-10-25 11:01
恭喜楼主,感谢分享
点赞 回复 分享
发布于 2017-10-25 11:12
大神从开始转向计算机方向到参加校招,期间间隔了多长时间呀?大神本硕分别是什么专业呀?很羡慕大神跨专业就业成功,向大神学习!
点赞 回复 分享
发布于 2017-10-25 16:53
不过楼主列了这么多书,一年半能看完吗?实验室也有任务呢
点赞 回复 分享
发布于 2017-10-25 20:43
楼主,你怎么看看书的,这么快!我一本java编程思想就看了两个月
点赞 回复 分享
发布于 2017-10-26 08:19
牛逼!
点赞 回复 分享
发布于 2017-10-26 08:27
厉害,大佬
点赞 回复 分享
发布于 2017-10-26 08:54
楼主,你们实验室放实习不
点赞 回复 分享
发布于 2017-10-26 13:17
楼主本硕分别是什么专业的?实验室做的项目跟你校招求职的岗位之间有关系吗?楼主在参加校招前有多少份实习经历呢?        求回复~~~
点赞 回复 分享
发布于 2017-10-26 19:50
能问下你面的都是什么岗位吗?拿了哪几家公司的offer呢?最后去了哪家公司呢?羡慕ing......求回复~~~
点赞 回复 分享
发布于 2017-10-26 19:52
前辈,刚又读了一遍你的面经,发现一个重要的问题。这些企业面试的时候都会很具体很详细地问你的项目,这些项目应该是跟Java相关的吧?你不是不能去实习吗?那么这些项目是从哪来的呢? 有项目经历真的很重要哦,理论与实践相结合嘛。
点赞 回复 分享
发布于 2017-10-26 20:23
大佬学习能力和毅力还是很强的,我本科非计算机,读计算机研但水平还不如楼主。
点赞 回复 分享
发布于 2017-10-27 09:34

相关推荐

人生一梦:24年我投暑期实习,它以我不是女的为理由拒绝了我查看图片
点赞 评论 收藏
分享
落叶随风呀:学校不好就放两栏,专业能力往前移, 政治面貌不是党员不如不写,籍贯湖南衡阳,或者湖南,浅尝辄止 基本信息排版不够美观,没有对齐 简历上花里胡哨的东西去掉 项目我不评价,因为我能力有限,且对mcu了解不足 但是这份简历掌握的水平,你可以海投试试,工作没问题但是工资应该不会高,因为搞mcu的小公司多
点赞 评论 收藏
分享
03-14 10:50
已编辑
门头沟学院 Java
鼠鼠华子无线实习,bg双九,通软岗位,论文,专利,竞赛都水过一点,秋招《非all in》选手,《泡池子泡到肿》选手,分享一下自己的时间线,给大家多一个参考。---实习末期,接口人电话沟通,最终决定求稳继续投递实习原部门---免机试,九月走完线下流程,开始入池---十月起开始保温,打听手中已拿offer,比较薪资,给出华子的预估职级和薪资(完全不给A的空间)---十月第二次保温,询问签约情况,各种暗示劝说留空白三方---十月底签约另一家公司,遂被降低优先级---十一月若干次常规保温信息(还有机会/稍晚一点/等这周。。。)---十二月告知部门有13的指标,愿意接受可以立刻发offer(难绷,妄图性...
蓦然回首一枝花:能体会楼主的心情,我投了华为无线的成研所,双9bg,被华子最后开了个13级的侮辱价 12.3打oc电话的时候接口人表示乐观等待就行,然后中间4周就开始不回消息或者拖四五天才回,翻来覆去就是“等审批结果”。 12月27号,我看应该是泡不出来了所以联系了部门流转,这时候接口人开始主动给我打电话告诉我马上就能出结果了,于是我也没继续流转。 12.31给我打电话说得降薪审批,薪资大概就是对应着13级的样子,但我当时因为投的是成都的,没有意识到薪资是按照上海开的,还以为这个薪资在成都是14级,加上那个时候我也“孝”劲上来了,想着能收我就行,于是答应了。 1.13开了出来,联系我了薪资,确认了下发现是13级,当时实在是接受不了,于是最终还是拒了。 拒的时候接口人告诉我说这个hc真的是他们争取了很久才争取到的,不过我一想到我12.3就打了oc电话,中间4周一直不搭理我或吊着我,最后12.31才告诉我争取不下来14级要降薪,也许争取真的要争取那么久吧,呵。 这个过程中也为华为拒了不少offer,大厂的、央企的、银行的都拒过,网上总说“华为没有发小奖状之前hr的话一个字都不要信”,当时没有放在心上,以为不会摊到我头上,现在来看当时也挺年轻气盛的。我感觉要不是中途我一直在烦hr,可能我就和楼主一样被泡死了吧,不过最后给开了个13级也和泡死没差,不过是被多侮辱了一次。 最后借楼主这个贴就只想跟后面的人提一个建议吧,还是那句说烂了的,“华为没有发小奖状之前hr的话一个字都不要信”,真的不要以为这样的情况不会出现在自己身上,不要拿自己的一辈子前途去送华为hr业绩。
点赞 评论 收藏
分享
评论
20
241
分享

创作者周榜

更多
牛客网
牛客企业服务