18届开学到现在找实习面经

一。先说下情况
求职岗位:Java服务端研发
腾讯:两轮技术+一轮HR,拿到offer
第四范式:两轮技术+一轮HR,拿到offer
CVTE:笔试+两轮技术+一轮HR终面,终面通过等offer
阿里:第二轮技术面试挂
搜狐北研:现场笔试,感觉还不错,结果挂
携程:一面没消息
美团:笔试通过,待面试
华为:笔试还没出结果
网易:笔试,评估未通过(之前大二做网易笔试玩,还过了),可能今年难度比较大吧
360(企业安全):笔试还没出结果
完美世界:笔试还没出结果
今日头条:笔试(卡了40分钟才进去系统,题目又难,必挂)
滴滴:之前散招被放鸽子,最近投了新锐
蘑菇街:内推了,没消息
京东:内推了,没消息
百度:开学时散招二面(很久了),没消息已挂

二。面经
按面试时间先后顺序来

百度散招
一面:
1.简单介绍了项目
2.SpringMVC请求处理流程
3.Spring拦截器怎么使用,Controller是单例吗
4.Hibernate和JDBC的优缺点
5.HashMap和HashTable的区别
6.JVM简单介绍(记不太清了)
7.冒泡排序过程(居然忘了,说的很模糊)
8.怎么统计大日志文件访问量前十的ip
9.差不多这些问题吧,还有些不记得了,面完面试说还行,过几天二面
二面:
问的比较偏
1.也是先介绍项目,问了一些项目相关,项目用到线程池,问了一下线程池相关问题
线程池有几种实现方式,分别介绍一下(ThreadPoolExecutorExecutors里面有四种,其实都是调用的ThreadPoolExecutor), Executors中四种实现方式的区别,项目中用的哪种实现方式,我说newFixedThreadPool, 线程数 设置为多大,根据什么依据。这种实现方式下,用的什么阻塞队列,默认队列的长度是多少。(没有细看这一块,答的稀烂)
2.HashMap原理
2.介绍一下项目中用生产消费者模式解决了什么问题,为什么需要用生产消费者模式
3.打开我的github主页(简历上放了github地址),找了一段有关反射的代码问了下,谈谈的Java反射的理解,怎么通过反射访问某各类的私有属性
4.Java中字符串切割用过哪几种方法,只知道split方法,问我用过这个类(Tokenizer )没有,直接说没有,也没细问了
5.String,StringBuffer,StringBuilder,区别,项目中那里用到了StringBuffer或者StringBuilder
6.项目中都是用的框架,用过Serlvet吗,Servlet是单例吗,多线程下Servlet怎么保证数据安全的,Servlet的生命周期
7.Spring的jspl标签用过吗,遍历一个数组时候,下标记录在什么地方(当时死活记不起来,应该是保存在一个status变量中,问的真偏)
8.问一面中你觉得自己冒泡排序这个问题回答怎么样(可能是一面面试官记录了),我说不好,重新给面试官讲了一遍,问复杂度O(N^2)怎么用数学公式推出来,我一直和他讲这个过程,面试官说我知道你说的出来,我问你怎么数学式怎么写,懵逼了一会,面试最后和我说其实就是一个等差数列
面完就没有消息了,挂了

阿里散招:
之前写过,这里不重复了,参见: https://www.nowcoder.com/discuss/21037

阿里3月统招内推(菜鸟网络)
一面:
问的很基础
1.主要学习什么方向,我说Java服务端
2.怎么学习Java的,都学习了Java的那些知识,我说JVM,集合,并发编程,反射,还有一些开源框架(Spring等)
3.平时用的Java版本是多少,我说JDK1.8,介绍一下JVM内存模型,堆怎么分代的,为什么需要分代。JDK1.8中JVM做了那些改变(主要是撤销了永久代,引入元空间)
4.HashMap内部数据结构,讲讲和ConcurrentHashMap的区别
5.看你简历说项目中用到了生产消费者模式,简单介绍一下,另外在在介绍一种你最熟悉的设计模式
6.数据库用的什么,我说Mysql,问MYSQL有种存储引擎,有什么区别,介绍数据库的事务特性和事务隔离级别,MySQL默认用的哪一级
7.Http和Https的区别,为什么Https是安全的
基本这些问题,都是很基础的问题

二面:
其实还是问的基础
1.介绍项目,问项目中最大的难点,我说其实没什么难点,面试官就说你的意思是项目这块就没啥可聊的是吧,然后就问别的去了(作死,不应该这样说的)
2.用过Spring吧,讲讲Spring中ApplicationContext初始化过程,之前看过相关博客,忘记了,没回答出来
3.Spring主要思想是什么,回答IOC和AOP,怎么自己实现AOP(考察AOP实现原理,主要是动态***),jdk动态***和cglib动态***什么区别,SpringAOP用的哪一种***(都有用到)
4.ConcurrentHashMap原理,jdk1.8后有哪些改变(引入CAS等)
5.JVM中什么时候会进行垃圾回收,什么样的对象是可以回收的,对象从新年代到老年代的转移过程,jvm哪些地方会溢出(除了程序计数器都有)
6.常用jVM调有工具有哪些(Jstatus,JStack,Jmap等),有没有调有经验,回答没有
7.数据事务,索引的分类,什么事聚集索引
8.平衡二叉树是什么,红黑树和平衡二叉树的区别
9.平时怎么学习的,介绍自己的优缺点
感觉还行,等了几天Rejected

腾讯
周日早上九点,还在床上,接到腾讯面试电话(面试官真拼哈),推到了晚上
一面:
面试官自己先介绍了一下,说是腾讯SNG腾讯云部门
由于我主要学习Java,但是腾讯基本没有Java岗位,面试也说腾讯主要C++,部分部门php(面试官就是搞php的),面试过程一个Java问题没问
1.看你简历上说会一些php(我估计是这个原因才面我的),介绍一下你最熟悉的一个php框架,我说Laravel,讲一下Laravel流程,Laravel中体现了哪些设计模式,服务容器知道吗(其实也是IOC,用Spring的去回答的)
2.面向对象的特点
3.Linux相关,怎么查看各个进程的占用率,怎么查看Nginx日志,知不知道服务器抓包(Tcpdump)
4.tcp和udp的区别,tcp的三次握手过程,内网怎么是访问外网的
5.http请求头有哪些,介绍平时见过的,怎么利用这些信息来进行前后端调试
6.一堆数据怎么找中位数(分两种,内推是不是能一次装下所用数据,能的话用快排,不能用分桶)
基本这些问题,面完面试官说我他这一关没问题,过几天老大还会找我聊一下

二面:
隔了一天
二面面试官比较犀利,有什么问题直接指出
1.你是什么专业的,我说软件工程,主要课程学的怎么样,我说还行吧,那我问你几个基础问题吧
2.操作系统相关,死锁的条件,一口气说了三个,还一个想了一会,面试官直接说感觉你还不太熟练
3.进程和线程的区别(需要回答详细,一直问还有别的区别吗),什么时候使用多线程,什么时候使用多进程(没回答好)
4.现在一个网页响应速度明显变慢了,假如我把这个任务交给你,你怎么处理这个问题(回答的面试官不满意)
5.网络相关,Http状态码有哪些,一一解释含义,说越多越好。OSI七层模型,每层对应的协议有哪些,我不知道会话层和表示层有哪些协议,就跳过了,结果被面试官发现了(混不过去啊),他说好像还有两层你没说吧
6.udp和tcp区别(需要回答详细,一直问还有别的区别吗),各自应用场景
7.看你项目中用了不少框架,说说为什么要用框架
8.项目中的难点,我说了一个,面试官直接说这有什么难的,不就是啥啥啥吗
9.你之前这个项目也做了蛮久,讲讲这个项目的有哪些缺点,假如给你一次重构的机会,你会怎么做
10.聊了一下其他(发展方向。家庭,腾讯,应该是部门leader)
面试过程否定比较多,但是最后还是给过了,过五天接到了HR面(当时很惊讶,本以为要挂),今天接到offer

第四范式(AI创业公司)
一面:
53分钟就围绕一个HashMap
1.介绍了一下自己的项目
2.HashMap的原理,内部数据结构(hash表,数据+链表(1.8后红黑树))
3.讲一下hashmap中put方法过程,对key得hashcode取hash,问hashmap中hash函数怎么是是实现的,除了这种实现方式之外还有哪些hash的实现方式
4.讲一下扩容过程,申请一个更大数组,将原数组的中的数据放到新数组中,引用指向新数组,面试官问,假如一个值在原数组中,现在移动了新数组,位置肯定改变了,那是什么定位到在这个值新数组中的位置,hashmap采用的是rehash,在散列一次。
5.多线程下hashmap扩容会出现什么问题(死循环)
6.抛开hashmap,hash冲突有那些解决办法(开放定址,rehash,链地址法,hashmap使用的这种,建立一个公共溢出区)
7.知道LRU吗,20分钟基于Hashmap实现一个LRU算法,面试官给个地址,进去写代码,面试官远程看

二面:
1.看了我的简历,说你在冰岩(我校的一个团队)待过啊,我说是的,面试官说他之前有些同事也是冰岩里面的(好巧)
2.问了下项目,问为什么项目中需要只用ConcurrentHashMap做缓存,和Redis有什么区别吗(map可以作为内存式缓存,短时间访问量高可以使用)
3,.ConucrrentHashmap原理,Java8做了哪些改变,有引入CAS,问什么是CAS,和自旋锁有什么区别
3.Redis在项目中怎么使用的,我说做缓存,用户token存放在redis中,有提到在redis中维持一个订单流水号保证唯一性,问为什么redis中可以保证,主要就是redis是单线程的,redis中命令都是原子操作
4.redis怎么实现分布式锁(sentnx命令可以实现)
5.java实现类似上面redis的原子操作,保证订单号唯一增长,我说单机的话可以在直接加锁,问怎么加锁,是加一个大锁还是读写分开加锁(因为有取出和加1两个操作,不是原子的),这个问题讨论了一会,面试官说其实加一个大锁就行,没必要纠结这么细,实际开发中一般也不会 优化到这种程度
6.数据库设计,假如做一个通信录,每个用户可能有多个联系方式(比如有微信,qq,***,人人等,每个用户可能全有,可能也只有其中 一部分,后面也看新增类似字段)。如果每个字段给一列,这样活很浪费,问这么设计表。
方案有两种:
(1)另外单独设计一张表,外键关联到用户表,里面有一个类型字段标识是微信还是qq还是***等,第二个字段是账号内容
(2)直接放在用户表中,设计一个字段存放一个json数据,json格式为{“微信”:xxxx, qq:“xxx"....}
基本这些问题,面完下午hr加我微信了,今天给了offer

CVTE
现场面试,武汉洪广大酒店
一面:
1.对着简历介绍了一下项目,在白纸上画一下项目结构图
2.画一下SpringMVC请求处理流程
3.用过哪些Java集合类,我直接画了集合关系图(现场面试好处)
4.HashMap原理
5.知道OOM吗,举一个OOM的例子,介绍了一下Java的强软弱虚四种引用,问什么时候使用软引用(一般缓存可以使用)
6.手写一个SQL
7.MYSQL存储引擎有哪些,INNODB和MYISAM的区别
9.两道算法题:
1题:0~n连续n+1数,现在有一个长度为n的数组存放了上面n+1个数的其中n个,找出哪一个数没有被放进数组
2题:找一个数组中的第三大数

二面:
应该是总监级别的,年龄40来岁了吧
整个过程在聊天,我直接掏出手机给他展示的自己实习做的产品,他还打开我之前做的网站看了一下,说做的不错,聊了会天就结束了

三面:
HR终面,据说刷人多,等了几天微信公众号显示终面通过


以上是自己开学到现在的找实习的经历,经历了不少笔试面试,今天一天内拿到了两个挺满意的offer,前段时间辛苦点也算值了。祝大家都能拿到自己理想的实习offer!!

#阿里巴巴##腾讯##百度##美团##华为##字节跳动##Java工程师#
全部评论
星火老铁,这个面经很走心啊
点赞 回复 分享
发布于 2017-03-31 21:06
恭喜,想去哪?
点赞 回复 分享
发布于 2017-03-31 18:16
膜拜大佬
点赞 回复 分享
发布于 2017-03-31 18:18
666
点赞 回复 分享
发布于 2017-03-31 18:20
膜拜大佬
点赞 回复 分享
发布于 2017-03-31 18:33
厉害厉害,java进腾讯!
点赞 回复 分享
发布于 2017-03-31 18:37
楼主可以内推第四范式吗
点赞 回复 分享
发布于 2017-03-31 18:39
接受我的膝盖!
点赞 回复 分享
发布于 2017-03-31 18:43
给跪了。
点赞 回复 分享
发布于 2017-03-31 19:00
膜拜
点赞 回复 分享
发布于 2017-03-31 19:12
鑫炎666呀🌚
点赞 回复 分享
发布于 2017-03-31 19:18
所以你是本科生嘛?
点赞 回复 分享
发布于 2017-03-31 21:13
楼主厉害+给力!
点赞 回复 分享
发布于 2017-03-31 21:57
Java进腾讯我是服气的…
点赞 回复 分享
发布于 2017-03-31 22:47
星火大佬666👍
点赞 回复 分享
发布于 2017-04-01 00:43
大神,可以咨询你的项目相关事情吗?就是大概什么样的项目?
点赞 回复 分享
发布于 2017-04-01 02:16
👍
点赞 回复 分享
发布于 2017-04-01 08:42
老铁66666。明年带我装逼带我飞。
点赞 回复 分享
发布于 2017-04-01 09:56
大佬啊
点赞 回复 分享
发布于 2017-04-01 11:40
居然是校友,认识胡清月,柳密么? 我阿里菜鸟3面 +一面hr 过了,腾讯两面以后让我去深圳面(为啥你不用去),下午刚拿到的美团offer(两面技术直接收到hr电话给口头offer)。
点赞 回复 分享
发布于 2017-04-01 18:58

相关推荐

Natrium_:这时间我以为飞机票
点赞 评论 收藏
分享
点赞 评论 收藏
分享
49 314 评论
分享
牛客网
牛客企业服务