最近也是每天刷牛客看了很多大家的帖子,自己结束春招,把之前的记录分享给大家把。
搜狐焦点 爱奇艺散招,快手,金陵科技, 地平线, 有赞,YuxiSoft,搜狐,科大讯飞,腾讯微信,趋势,酷家乐,旷世Face++,携程,爱奇艺内推,去哪儿,阿里,京东,美团点评,网易,
百度,ebay , 今日头条,追一科技,小米 , 招商银行信用卡中心,腾讯,,途牛,58同城,旷世Face++,拼多多,,远景能源,CVTE,华为,微众银行
没有消息:
搜狐焦点,快手,科大讯飞,腾讯微信,旷世Face++,追一科技,小米 , 拼多多
放弃笔试:
去哪儿,招商银行信用卡中心,58同城
笔试:
搜狐,京东,百度,今日头条
一面:
爱奇艺散招,趋势,酷家乐,携程,爱奇艺内推,YuxiSoft,阿里,ebay ,腾讯,微众银行,
二面:
有赞,美团点评,远景能源,
HR面:
CVTE,
Offer:
金陵科技, 地平线,途牛,华为, 网易
实习准备在南京,杭州,上海三地找,对江浙沪的同学可能有点参考价值。其他地方投的都是为了刷经验的,基本上投的有在江浙沪的部门都是投的江浙沪的部门
面经是按公司分,再按面试的时间分的,基本上是自己记下加点回忆写下来的,问关于实习、项目的没有共通性的就没写下来,前面标数字的是我不太会的,给大家做个参考。
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 他说了几个名词,说只会使用,具体不清楚
建议多线程深入
金陵科技现场面,交流了一下
随便聊聊,
项目中的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份,再切分什么的。
又问了设计模式的一些问题,设计模式的原则是什么。问了工厂模式,扯了点单例,观察者,装饰者
感觉有赞的话,面试的问题都还可以的,感觉面试官也不错,引导和讲解。最后也给了一些建议,带着问题读源码和参与一些开源项目,学习一些底层原理什么的。很耐心,点赞。
地平线一面
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相关。
途牛现场面,
一面
1 map和set区别
1 list和set
Hashmap和linkedmap区别
JVM 内存分区
GC判断,算法
说垃圾处理器,扯了点CMS,又问了G1
1 volite关键字
设计模式,说了观察者,单例等
Spring IOC AOP
二面
就聊了聊项目和实习的事,聊聊职业规划什么的
苏州的一家小公司,投着涨经验的
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 现场面
一面
数据库引擎
索引,讲了下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语句调优,说了索引,问除了索引。。不会了
讲述你遇到的最困难的事,最后怎么解决的
建议是面试相关,听完问题在回答,不要急和抢答,学习相关,专注于一点,语言本身深度要够和深度学习一个框架
现场就一面,一周等通知
参加了一次笔试,问答题写编程思路,还有填空,编程题不能用编译器人工改题。。放弃了
笔试不参加。本来是以为可以直接面试的,想增加点面试经验,现在还要笔试就算了。因为时北京的,也不准备去。
在泡了20多天后,终于一面了。
实习 spring boot
数据库优化,索引的底层实现
1 Spring 事务
2 分布式
2 中间件
Hashmap和ConcurrentHashMap 说了底层实现,1.7,1.8
讲了讲缓存的理解
并发安全,讲了synchronized和ThreadLocal
校内项目
凉的倒是很快,没两天就已拒绝了。。
网易一面
问了实习项目
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多个用户访问同一个数据,我说加锁,问怎么具体实现。不会
华为是4.10做得笔试,这次的笔试比较简单,过了2.6题。本来以为还可以,出来一交流,他们全是3AC。晕
一面:
对着简历问了项目,个个讲了一下。
问熟悉什么框架,SSM,问是否看过源码,讲看过一点,吹了一点AOP,结束。。
二面:
自我介绍
一个印象深刻的项目
是否愿意去苏州研究所
感觉华为不太问技术,感觉是玄学面试,玄学刷人了
总体在讲两句吧,其实这两个多月是过的很痛苦的,心态的变化与挣扎。也算是一种体现的磨练吧。如人饮水吧,冷暖自知。祝大家都好运吧。
点击作者姓名与作者大佬交流~
作者:①苆茬①杺
来源:牛客网(www.nowcoder.com)
- 互联网名企笔试真题
- 校招求职笔经&面经
- 程序员/产品/运营求职实习信息
- 程序员/产品/运营学习交流社区