互联网招聘求职专区程序员@IT·互联网

江浙沪的java春招实习综合面经

2018-05-26  本文已影响261人  6b440373157d

最近也是每天刷牛客看了很多大家的帖子,自己结束春招,把之前的记录分享给大家把。

投递公司


搜狐焦点 爱奇艺散招,快手,金陵科技, 地平线, 有赞,YuxiSoft,搜狐,科大讯飞,腾讯微信,趋势,酷家乐,旷世Face++,携程,爱奇艺内推,去哪儿,阿里,京东,美团点评,网易,

百度,ebay , 今日头条,追一科技,小米 , 招商银行信用卡中心,腾讯,,途牛,58同城,旷世Face++,拼多多,,远景能源,CVTE,华为,微众银行

做一个走到的状态汇总吧:


没有消息:

搜狐焦点,快手,科大讯飞,腾讯微信,旷世Face++,追一科技,小米 , 拼多多

放弃笔试:

去哪儿,招商银行信用卡中心,58同城

笔试:

搜狐,京东,百度,今日头条

一面:

爱奇艺散招,趋势,酷家乐,携程,爱奇艺内推,YuxiSoft,阿里,ebay ,腾讯,微众银行,

二面:

有赞,美团点评,远景能源,

HR面:

CVTE,

Offer:

金陵科技, 地平线,途牛,华为, 网易

实习准备在南京,杭州,上海三地找,对江浙沪的同学可能有点参考价值。其他地方投的都是为了刷经验的,基本上投的有在江浙沪的部门都是投的江浙沪的部门

面经是按公司分,再按面试的时间分的,基本上是自己记下加点回忆写下来的,问关于实习、项目的没有共通性的就没写下来,前面标数字的是我不太会的,给大家做个参考。


Ebay(一面)


ebay。没问出啥

应该是个日常招聘,要求尽早到,本来想刷下经验,感觉外企好像问的是不太一样,要我之后去上海再面,感觉不是很想去,感觉他面面也估计不太想要我。

1 Linux编辑操作,

1 docker了解过么,

Function 传入的参数可以是接口么,

A a = new B; A和B的关系。

数据库操作,order by ,group by,

数据库的索引底层的实现,B+树

1 数据库的高可用和可扩展性

多线程的理解,synchronize 用在什么地方

1集群的理解

爱奇艺(一面)


爱奇艺视频面试(散招 一面gg)

1框架本身怎么处理并发

硬扯了一些Java8

有一个定时发送邮件功能怎么设计  java定时器

性能和准确度考虑

设计模式,观察者模式,具体实现java.util.observable

1Linux 查看线程内存

1 消息队里有了解么

爱奇艺电话面(应该是暑期实习校招)

面向对象讲一下

Equals和hashcode

多线程实现

线程池相关

JVM内存分区

溢出异常

类加载

http请求报文

Spring IOC AOP

1 缓存 Redis

1 跨域问题,客户端和网页域名不一样 :好像是个前端的问题

1  Spring mvc 他说了几个名词,说只会使用,具体不清楚

建议多线程深入

金陵科技(offer)

金陵科技现场面,交流了一下

随便聊聊,

项目中的Dropwizaed 轻量级框架的核心要素

Spring boot 和Dropwizaed的区别

说在他们正式招实习之后,有回复就代表过了。

有赞(二面)


有赞一面

排序算法和复杂度,八大排序依次说,时间复杂度(平均,最好,最差),问了哈希排序,和堆排序,问了堆的建立和插入

问了红黑数,不太清楚,说了点二叉平衡树

1对缓存的了解

1数据库语句调优,说了一部分加索引,问了索引用不等于为什么会失效,问了底层B+树的基本结构,问了联合索引的数据结构,不会, mysql索引,最左匹配原则

网上商城搞活动,打折怎么做,答用装饰者模式包装,问包邮怎么做,说了邮费是单独的一个类,在最后算价格时减去

1系统设计,活动积分TOP N,用堆排,问这是单机的情况,如果多台机器怎么办,回将堆分成几个小份,线程间通信,比较最小再插入,他说一台挂了怎么办,提示内存,不清楚问的点,不太会。

1开放性问题,n长有序数组,有随机数生产算法,random,随机取K个数

将范围从(0,1)扩展到(0,n)下下标,取数。重合怎么办?将取出的设置的比最小值小,作为已经取过的标志,想要一次到位一定能取到怎么办?取出m后,将(0,n)拆成(0,m),(m

,n)。还不是他想要的,提示说数组的数可以变化,答,将取出的数加上max最大值,是其成为新数。还不是,又说将取出的数和最后一位换位置,缩小范围到(0,n-1)。感觉最后还是没有回答到他想要的答案。

又问怎么证明改变范围前后的概率,取到每个的概率都是1/5,1/5,4/5*1/4=1/5,4/5*3/4*1/3=1/5

后来想起之前看过的算法,好像勉强符合,先将前K个加入一个K长数组中,之后的K-N个数,每次按照k/n的概率来决定是否进数组,如果进了再随机替换其中一个。

有赞二面

1 Hashmap和LinkedHashmap 底层的区别

Hashmap是否有序,Entry遍历出来和输入的顺序不同,底层是迭代器iterator,

线程并发问了很多

1   BlockingQueue,我不太会就扯了点ConcurrentHashMap,又问底层实现,我忘记了·,汗

1  Synchronized的用法,为什么能实现锁住,,对象锁的具体实现,好像又是要看具体实现源码的。

1  问是否了解并发包,当时忘了Lock是里面的,说不太会

1  Volatile关键字,好像记得不对,他说是可线程可见性相关的

1  线程的例子,10个文件,用10个线程操作,得到10个文件的字数,在汇总给主线程。主线程在别人算时候没事,应该怎么办,我说等待,或者阻塞什么的。好像回答的一般。

问了JVM的内存模型

1  new 一个对象,虚拟机干了什么事

1 类加载时在创建对象之前还是之后 类加载好像是在对象初始化之前

GC算法

了解过CMS么

类加载用的什么机制,它的好处是什么

2  算法题,是个大数据问题,10亿数字,去重。想了一下,用切分的方法,按照每一位是否为0/1作为划分,用Mapreduce,hash。最后讲解了一下,先按照每台机器的运算能力,看需要几台

的机器。然后划分N片,最后合并,之间不会重复什么的。如果数据倾斜的话,先随机分成100份,再切分什么的。

又问了设计模式的一些问题,设计模式的原则是什么。问了工厂模式,扯了点单例,观察者,装饰者

感觉有赞的话,面试的问题都还可以的,感觉面试官也不错,引导和讲解。最后也给了一些建议,带着问题读源码和参与一些开源项目,学习一些底层原理什么的。很耐心,点赞。


地平线(offer)


地平线一面

Sql语句优化

聊JVM使用,说没实际用过,吹了点GC的判断

1框架,或者说项目的高可用,几台服务器,服务器挂了怎么办

系统设计,排行榜 topK问题

后台用golong和php,做的是内部和算法部门结合的一些后端项目。

地平线二面

主要聊了聊实习项目,

数据持久化。。没了解过

问了个图的问题,输入经过很多层后到输出,简单的就单输入单输出,有id,pre,post,后面两个都是数组,只会有当前面的数组都到时,才能走后一个,问怎么遍历。简单的想了一个走了一

个之后就改变标记位的方法,他说这样要回溯,麻烦一点。他讲了用入度为0的做法,听了点,不是很懂。


hr

就随便聊了聊

腾讯(内推一面凉,春招实习一面)

腾讯突然面试

快排了解么,说一下快排

1  有一个N长随机数,取中间的数。一开始说排序,然后去中间的数,又说用两个堆,大根小根,说要更好的算法O(n),要一个基数排序?还不是,最后告诉我说是结合二分和快排,最后

是nlogn,类似于n的一个算法。现在大概明白他的想法了,用快排划分的方式,选数,小的防左边,大的放右边,然后看左右的个数,再从大于n/2的部分继续划分操作。

1 网络了解DNF么?还是DNS?是这几个字母么,记下来是这个,但也没百度到。。不了解,再看,是问的域名系统?

GC,内存的分区,堆,类放在哪个区,什么时候会内存溢出,GC root

2 Spring 看过IOC的源码实现么,没有,那让你自己自己实现一个IOC。。。只能硬扯了点set注入什么的,还是要去看Spring源码。Handle什么的,反射实现的具体

2  Mybatis 关于mapper文件和xml文件的对应,底层是怎么实现的,代理模式,底层不会,接口什么的。

这两个底层实现都把我干懵了,很多还没来得及看,腾讯爸爸的深度还是很深的。

数据库语句的优化,索引的实现。DV事务有了解么。不了解。是问的事务吧

1面试官人很好,给了一些建议,广度还行,深度不够,数据的存储,分片问题,为什么这么查,为什么读写分离,要知其然,还要知其所以然。

腾讯笔试,没想到过了,当时应该是过了1题多一点

面试

讲了两个项目

操作系统 系统调用 怎么实现并行,指令,cpu

网络 5层模型,tcp,udp,ip

输入网站之后涉及的协议

数据库,怎么优化慢sql语句

两个应用题

多个机器个多个线程,怎么产生gpuid,要让所有的id不同

给一个数组,值为权重,按权重比例输出下标

感觉和内推的面试完全不一样,是一个做游戏的C++工程师,主要的技术栈是c和c++,感觉还是不适合。这次侧重于操作系统和网络协议什么相关的。之前的内推侧重于java相关。


途牛(offer)

途牛现场面,

一面

1 map和set区别

1 list和set

Hashmap和linkedmap区别

JVM 内存分区

GC判断,算法

说垃圾处理器,扯了点CMS,又问了G1

1 volite关键字

设计模式,说了观察者,单例等

Spring IOC AOP

二面

就聊了聊项目和实习的事,聊聊职业规划什么的

Yunxisoft(一面)

苏州的一家小公司,投着涨经验的

1 TCP和UDP区别

http底层是哪个

http状态码

1 主键和外键 定义

后来说他们是用js写后端的就没聊了


美团(二面)

美团电话面试

Hashmap 内部结构,扩展,线程不安全,安全的使用

多线程实现,synchronized和Lock的区别

1 线程池相关  最小线程数 5 最大10  应用启动时是否会初始化

JVM 内存分区

1 堆的参数,直说了可以设置最大值,对象多于它会产生内存溢出

1 索引覆盖。。没听过

二面

聊了半小时两个实习做的项目。。其他没问。

趋势(一面)

现场面,

感觉难度对我挺大的,问了很多的具体的,虽然做过,忘记了,或者没有深入的想。

问了一个具体的SQL问题,v1,v2,v1,v3..求所有的v1,v2,v3中的最大值,用了分组group by,加max函数,不知道对不对。

1 问了mybatis的xml里面,#和&的作用

2 Spring boot 有哪些注解。

1 Mysql里面怎么查看语句是否用到索引,命中率还是什么的,好像有语句。不会

2 Spring boot 性能调优?没接触过

2 Spring boot 里的过滤器,拦截器?

1Spring 里面的bean scope ,bean的生产方式,bean生命周期?初始化几次?

问我多线程,也说没有具体实践过,

感觉实在要面不下去了,面试官有问了点hashmap,java8,jvm的。

感觉问的都不会,凉凉。

建议,虚拟化,docker,自动化部署流程,微服务,分布式,spring boot 的流程,不是业务逻辑。最后交流了一下,趋势这边主要是做APP后端和一些数据分析相关的,用java和Python比较

多。

反馈,趋势可能是外企,这点到蛮好的,不过,第二天就给我发邮件告知了。


酷家乐(一面)

酷家乐电话面试

面试官人不错,一直这个不太会就问另一个,可惜我都不会,问的怀疑人生。

1 Mysql 走索引,是否中索引什么的

底层结构,存储方式,B,B+,hash什么的,为什么用B+树

2 如果有 ID order id 联合索引和几十个列。Select 者两列和所有的列在有什么区别

2 Redis 数据类型,最后库存还有一个,两个线程并发的获取,redis会怎么做

2 Spring  boot 怎么实现自动导入配置Bean 的

2 Spring boot server 服务器怎么实现内嵌的

2 多线程 future 接口,里面有什么方法,说不知道,有和我讲了四个方法,说让自己实现会怎么实现。。

1 Thead.Lick  不知道。。Threadlocal

1-10万求和 十个线程,怎么做。


CVTE(HR面)


cvte 现场面

一面

数据库引擎

索引,讲了下B+树

索引使用和失效的条件

写了一个SQL,题目是学生成绩表,求每个学科的最多最少分数和平均分,用了max,min,avg和group by,。

问了JVM,自己就开始扯,从内存分区,到垃圾判断,到GC算法,到full GC。

问了设计模式,讲了观察者,单例,工厂等,细讲了下单例,饿汉,懒汉,加锁,双重检查,枚举类型实现等。

出了个算法题,给一个字符串,求出第一次出现一次的字符。当时想的使用hashmap来实现的,可以将String 转成字符数组,或者直接用charAt(i),不包含就设置初始值1,包含就+1,让纸

上写代码了。写出来了,但一些方法名可能记得不准确。好在面试官也知道,没有太在意。这个应该是剑指Offer的原题,自己之前看过,但后来想起来,用26长度的数组可能更好一点。

之后就等了一下,开始二面

二面

因为写了新的框架,就问我有什么好处。

1 Mybatis # $的区别

设计模式,又把自己记得的说了一下

Spring AOP在项目中那边用到了,不清楚讲了自己的理解,横向抽取,日志,权限控制。

问了实现方式,知道是动态代理,分JDK,和CGLIB,具体实现,卡了一会,只说出在代理对象中,调用代理对象的方法前后可以加上自定义的方法。

又问了一道算法题。求N长数组中第K大个数。自己一开始没理解,就说堆排,快排等等。他直接电脑转向我,让我在电脑中写出来,跑运行,leetcode的代码本。我过了会,突然想起来,这

题之前的面试官问过,如果只要第K个的话,其实可以不排序也可以实现的。就是用快排划分的方式加上类似二分的方式,选定之后可以获知前后的数组个数,即知道自己处在哪个位置上,和

要求的K进行比较,舍去不在范围的那一边。思路有了,代码实现了好久,只把一开始的划分写出来了,后面继续没写出来,想拆成两个函数写,在第二个函数中递归,后来发现写在一个里面

就行。拖得挺久,也就这样了。

有问了最近在看什么,就聊了聊,线程池和消息队列什么的。

HR面

给自己技术面打分,10分值,原因

实习经历,是否会考虑留在上一家公司。

已经有的Offer

期望地点,工作时间,薪资

5到10年后,希望工作和生活的状态是什么样的

最受不了的人和事

工作不希望遇到什么状态

性格剖析

家庭情况

压力最大的时候

想去的企业

最后问一个问题:和她交流了一下我性格上的事


远景能源(二面)

之前有牛客的两道编程题,都没做出来,本来以为凉了,后面又接到电话。可能也是因为这个一部分原因,最后挂了。两道题听同学说都是原题,百度可以全过。


电话面试

讲一下对MVC的理解

2 ORM的理解,mybatis怎么实现映射

2 CurrentHashmap 底层

讲一下Hashmap,为什么一定要重写hashcode。

多线程,对锁的理解。

1 ThreadLock。。晕,查了一下才知道是Threadlocal

2 Spring中怎么对controller进行调用的

设计模式

现场面

2到现场直接给个题目,写半小时。给定n长字符串的所有m长的子字符串。我用的是先求子串再全排列。感觉有点复杂了。

之后又面试,好像是用递归来做简单一点。

2打印菱形。这个每没太答好。

出了道sql语句,学生表,按年龄,求第10到第20。用了group by,加上limit。

1悲观锁和乐观锁。数据库中什么时候用的是什么

四种隔离级别

Spring boot的好处。

单例模式,手写有点小问题,就讲了讲,从饿汉懒汉,到改进,双重检查,到枚举类型。

又是那个多线程问题,几个线程执行,都结束再用一个线程汇总,怎么做。没太看,就扯了点自己的理解,观察者模式什么的。


携程(一面)


携程笔试


过了一题,收到了面试通知,

携程现场面试

问了实习项目

项目中是否涉及到,调用别人的接口,应该怎么做,即服务之间的调用要怎么做。感觉应该

是问的RPC 相关,dubbo什么的

1java中哪些类是线程安全的,问的是除了并发包之外,哪些也能保证安全

2怎么实现并发安全,在编程时怎判断会出现并发问题,即判断是否需要用并发安全的类

2GC相关,问了怎么会内存泄漏,实践中怎么办的问题,

2交流说,就是给你源码,产生了泄漏问题,怎么解决。只讲了点理论知识

1SQL语句调优,说了索引,问除了索引。。不会了

讲述你遇到的最困难的事,最后怎么解决的

建议是面试相关,听完问题在回答,不要急和抢答,学习相关,专注于一点,语言本身深度要够和深度学习一个框架

现场就一面,一周等通知

58同城(放弃)

参加了一次笔试,问答题写编程思路,还有填空,编程题不能用编译器人工改题。。放弃了


去哪儿(放弃)

笔试不参加。本来是以为可以直接面试的,想增加点面试经验,现在还要笔试就算了。因为时北京的,也不准备去。


阿里(一面)

在泡了20多天后,终于一面了。

实习 spring boot

数据库优化,索引的底层实现

1 Spring 事务

2 分布式

2 中间件

Hashmap和ConcurrentHashMap 说了底层实现,1.7,1.8

讲了讲缓存的理解

并发安全,讲了synchronized和ThreadLocal

校内项目

凉的倒是很快,没两天就已拒绝了。。


网易(offer)

网易一面

问了实习项目

Java 线程状态 sleep和wait的区别

线程相关,说了个ThreadLocal

Synchronize和Lock区别

锁 偏向,轻量,自旋,重量

线程池,种类,参数,阻塞队列

CAS相关

多线程 说了CountDownLatch 和CyclicBarrier 问了底层实现

2中间件 dobble

虚拟机有几个类加载器,又讲了双亲委派

GC 判断和算法

数据库搜索引擎

1表的字符,GBK和utf-8,汉字占几个字节

隔离级别

2间隙锁。解决什么问题

索引的底层结构,B树B+树

Cookie和session、区别

2问了二次提交协议,分布式相关

用什么框架比较熟悉,ssm

Spring 常见注解

1问了缓存服务器,说只是知道redis

问了最近在看什么书

二面

JavaNIO,BIO,AIO

2反射和泛型,extend和super

Arraylist和linkedlist

Hashmap理解,是否安全

安全的实现

问了多线程,讲了CountDownLatch 和CyclicBarrier

1优先级队列的底层实现,在提示性说了堆来实现

1问设计模式中订阅者模式中的具体用的地方,讲了消息队列这

2怎么实现I++的安全,volatile,和CAS

2问了读写锁和并发锁区别,读多写多

Jvm 问GC

讲了内存模型,GC判断和算法

类加载机制,说了双亲代理

问了这样的实现是用什么设计模式,提示之后说了代理模式

2数据库问了慢查询优化

2问了是否设计过表结构

2索引的种类,只说了聚集索引和非聚集索引

索引的底层实现

索引失效,有一个最左匹配原则要注意

数据库的范式

数据库的事务

2隔离级别,之间的区别,说了解决什么问题。问底层怎么实现,说加锁,除了加锁。不知道了

问了了解过哪些查找排序,说了快排,堆排和归并,问了哪些是稳定的

问了Bean的生命周期

AOP理解,和底层实现

两种动态代理的区别

2在同一个类中,能否用aop调用类内的方法

增强的种类 前 后 环绕

S2pring MVC,想问的,就说没有太细看,

设计模式,问了为什么用工厂模式

问了观察者模式

2 说了解单例模式,讲了饿汉的几种优化,问了双重检查和静态内部类实现的区别,双重检查并发可能还是会出现问题,去了解下两个的区别

讲述你遇到的最困难的事,最后怎么解决的,

2问如果线上代码出了问题,怎么解决。我说分析代码,找bug,设置断点等。说线上才出错,不能debug怎么办,不会了。

最近在看什么书

有什么问我的,说项目经验有所缺失,让给了学习建议,学习一些分布式相关

hr面

交流下学校的一些事,上一个实习学习到什么,遇到困难等


微众银行(一面)

笔试,


好像笔试不难,过了找规律和素数相关的·,过了两题,看论坛别人好像一般过2.5这样,也拿到了面试机会。

面试

多态,泛型

说了有10个请求和类,调用是怎么映射的,底层实现,不会,他说什么classload加载实例化,什么父类,就类似于多态。不是很明白

Hashmap

多线程实现方式

2操作系统,文件中查找字符串

内存模型,GC

索引失效情况,注意有最左匹配原则

2读写锁,数据库中关键字是什么,还是说让我说ReadWriteLock这个单词?。

2网络epllo 好像是这个,在别人面经上看过,不会,下次查一查

2序列化了解么,说了点fastjson类和json的转化,问为什么要序列化,说安全压缩空间,最后他说是因为大小端问题

100个线程一个连接怎么做,我说放到消息队列里什么的

2怎么同步变异步,

Ajax了解么,我说是做纯后端的

2多个用户访问同一个数据,我说加锁,问怎么具体实现。不会


华为(offer)

华为是4.10做得笔试,这次的笔试比较简单,过了2.6题。本来以为还可以,出来一交流,他们全是3AC。晕

一面:

对着简历问了项目,个个讲了一下。

问熟悉什么框架,SSM,问是否看过源码,讲看过一点,吹了一点AOP,结束。。

二面:

自我介绍

一个印象深刻的项目

是否愿意去苏州研究所

感觉华为不太问技术,感觉是玄学面试,玄学刷人了

总体在讲两句吧,其实这两个多月是过的很痛苦的,心态的变化与挣扎。也算是一种体现的磨练吧。如人饮水吧,冷暖自知。祝大家都好运吧。

点击作者姓名与作者大佬交流~

作者:①苆茬①杺

来源:

牛客网(www.nowcoder.com)

- 互联网名企笔试真题

- 校招求职笔经&面经

- 程序员/产品/运营求职实习信息

- 程序员/产品/运营学习交流社区

上一篇下一篇

猜你喜欢

热点阅读