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

作者: 6b440373157d | 来源:发表于2018-05-26 23:37 被阅读261次

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

    投递公司


    搜狐焦点 爱奇艺散招,快手,金陵科技, 地平线, 有赞,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)

    - 互联网名企笔试真题

    - 校招求职笔经&面经

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

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

    相关文章

      网友评论

      本文标题:江浙沪的java春招实习综合面经

      本文链接:https://www.haomeiwen.com/subject/pquujftx.html