1
今天把其他一些面经总结了一下,分享给大家参考。包括从6月到7月份面的一些公司,包括海康威视,商汤科技,顺丰,有赞,亚马逊(实习生)。主要是Java岗位,而且是主要提前批的面经,甚至包括简历面。
亚马逊
实习生面试
7月初面的
一面
1聊项目20分钟,难点,重构特点。
2写题,跳台阶的递归和dp方式。
3如何查找一个数组中的局部最小值。
直接遍历复杂度是O(N),但不是最优。
使用二分查找优化,逼近局部最小值,logn,有一些问题,并且死循环了。
接着二面
1聊聊项目中的重构,数据表设计的方式。谈到了索引。
2使用索引和不使用索引的区别,何时使用索引的效率不如不使用。
因为索引需要logn次IO找叶节点,然后再一次IO去真正找数据。
而不用索引每次查找都要一次IO,所以数据行为N时,不使用索引要N次IO,使用索引,假设索引包括M行数据,则需要(logn + 1)* N/M次,当两者相等时效率相近,否则不同。
3聚簇索引,最左前缀匹配索引,B+树。
4算法题,版本号的大小比较
首先正则表达式过滤非法输入,并且拆成数组进行判断。
5算法题2 一个单词变成另一个单词,一次只能变一个字母,并且中间过程需要是一个合法的单词。并且每一个位置都可以修改多次。
使用dfs,没写完整。
海康威视
7月中旬
简历面
1 了解我们公司么
2 实习讲一下
3 Java讲一下集合类,线程安全的那种
4 分别如何实现的呢,copyonwritelist,讲一下,chm讲一下
5 Java内存分区,分代回收,是否有GC调优实践过。
6 clone方法的实现
7 讲一下你这个项目数据仓库的架构
8 了解Hadoop的哪些组件,自己跑过么
9 我就是探探你的底,还没开始正式面试呢!
10 没了
(* ̄︶ ̄)
商汤科技
7月下旬
要求转c,并且是实习岗位
1 愿意转c++吗。巴拉巴拉
2 Java的hashmap和hashtable的两个区别
3 Java中的锁怎么实现,synchronized关键字底层什么命令。
4 Java的cas操作说一下,底层怎么实现的。自旋锁了解么。
5 lock free用于什么场景,自旋锁和普通锁的使用场景
6 Java的countdownlatch的实现原理
7 Java的内存分配是虚拟内存还是物理内存
8 讲一下虚拟地址如何映射成物理地址,TLB了解么,分页机制说一下,页面大小是多少。
9 LRU缓存说一下
10 没了好像
顺丰科技
上周
一面
1 面试官喜欢抖腿
2 二分,二分找比一个数小的最大数
3 Java的线程使用方法
4 线程通信的方法
5 没了
二面
hr面,过了两周发了offer。总体来说很水。
有赞
一面:
1 Java并发技术了解吗,说了线程,juc的线程池,并发容器,阻塞队列,原子数据类型等。
2 问我原子数据类型怎么实现,cas
3 线程池有哪些参数,阻塞队列用的是普通队列么,答不是,是blockingqueue
4 concurrenthashmap和hashmap的区别,chm的实现原理,你在什么场景下用到chm,为什么,我说了多线程查询数据,put可能覆盖,或者hashmap的扩容可能产生死链
5 还用过哪些数据结构,list,set,map,stack和queue。
6 Spring了解么,问我了解五大组件不,不了解,说了ioc和aop。然后问我分别怎么实现的,使用xml和注解配置实现类有什么区别,怎么解析它们的数据。
7 Spring如何动态地加载一个bean到bean容器中,不是通过配置文件配置的,不会。
8 Spring aop的实现原理,如何加一层动态代理的,我说是创建bean过程中直接生成代理类的实例。
9 Spring的spring quartz知道么,必须不知道
10 spring源码看过么,mvc了解么,说了一下mvc的原理和请求过程
11 hibernate和mybatis的源码看过么,没有
12 如何实现不同环境中配置文件的自动切换,使用脚本或者命令,他说使用hibernate的注解可以实现切换。
13 nio和io的区别,nio是阻塞轮询的,如何改用异步通知的机制,我说使用aio注册异步回调函数。
14 nio的包装框架了解么,我说netty,看得深入么,我说没有深入看。
15 分布式服务dubbo了解么,有哪些功能,如何自己实现一个dubbo,我分别从rpc和微服务的角度说了一下。问我有哪些序列化方式。
16 mysql问了几个简单问题。
17 对我们公司了解么,只是稍微了解。
二面:
1 项目
2 Java的内存模型,堆和栈分别存什么
3 Java的深拷贝和浅拷贝
4 Spring的aop怎么实现的,动态代理的原理是什么 。
5 Spring MVC的请求过程。
6 跳出Spring,说一下浏览器的请求过程
7 网络编程这一块,你了解哪些,说了socket和nio 。
8 nio的底层实现一般是epoll,讲一下epoll吧。
9 mysql的索引说一下,二级索引是怎么进行查找的。
10 MySQL的两个引擎区别
11 hibernate的orm是怎么实现的,我说的是xml和注解的解析,以及jdbc封装
12 hibernate的事务如何实现,我说是jdbc的事务实现。
13 分布式数据库查询一个表的前十条数据,对id进行hash来索引节点,如何进行查询。我说那就对id hash,找到节点分别查询。
14 分布式系统的概念,如果有数据一致性怎么办,答cap和base
15 了解哪些分布式技术,说了缓存,负载均衡,消息队列,Hadoop
16 负载均衡的衡量指标,不知道
17 消息队列了解哪个,rabbitmq和kafka,为什么kafka比rm快,答了零拷贝,具体实现原理答错了,应该是避免复制数据到应用缓冲,直接使用sendfile传输数据。
18 hadoop了解哪些,hdfs的文件读写机制说一下。
19 没什么问题了
20 需要来现场面试,其实我不想去现场面,然后隔天给我发了拒信
▼更多精彩内容
今日头条研发面经
蚂蚁金服研发面经
百度研发面经整合版
拼多多&快手研发面经
腾讯研发面经
微信公众号【黄小斜】大厂程序员,互联网行业新知,终身学习践行者。关注后回复「Java」、「Python」、「C++」、「大数据」、「机器学习」、「算法」、「AI」、「Android」、「前端」、「iOS」、「考研」、「BAT」、「校招」、「笔试」、「面试」、「面经」、「计算机基础」、「LeetCode」 等关键字可以获取对应的免费学习资料。