最近也是每天刷牛客看了很多大家的帖子, 自己结束春招, 把之前的记录分享给大家把.
投递公司
搜狐焦点 爱奇艺散招, 快手, 金陵科技, 地平线, 有赞, 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, 结束..
二面:
自我介绍
一个印象深刻的项目
是否愿意去苏州研究所
来源: http://www.jianshu.com/p/f9e3e13b9009