面试复盘 | 提前批:阿里,腾讯,商汤,小米等

之前有发过一篇字节,美团,百度等公司的提前批面经,这里再补充一下目前面的一些公司的面经

阿里(一面)

①实习项目业务的介绍?
②限流算法的介绍?令牌桶和漏桶的各自优劣?选取的时候考虑怎样的因素?Guava  Ratelimiter中的令牌桶如何实现的?
③redis的主要业务场景?
④关于数据一致性的问题?如何保证分布式场景下的数据一致性?怎么解决缓存击穿问题?
⑤JVM的对象死亡的判定方法?三色标记法?CMS?STW?
⑥RocketMQ和Kafka的区别?选型如何考虑?
⑦什么是模块化?为什么要有微服务?微服务的优点和缺点?

阿里(二面)

①实习做的事情?怎么解决页面引用之间的循环依赖问题的?
②数据库中假设有1w条数据,这些数据需要导出到用户手中生成excel?
(1)从说数据库读取到程序中怎么做?使用什么样的数据结构?为什么?
(2)从程序中导出给用户,生成excel?怎么做?有什么样现成的类库吗?
(3)分布式场景下,上面的情况怎么做?

阿里(三面)

①分布式项目的架构?JVM进程和redis中缓存的一致性保障?redis和数据库中的数据一致性保障?CDN中出现脏数据怎么办?
②volatile的底层原理?操作系统怎么保证原子性的?
③1*2+2*3+3*4+······+n*(n+1)多线程怎么做?n特别大的时候怎么做?
④设计模式?说一下JDK中用到了哪些设计模式?开发中有使用过什么设计模式?哪一个设计模式自己比较喜欢,为什么?

阿里面试总结:阿里不是很喜欢问基础知识?都是从项目或者实际的场景题中进行引申,个人觉得比较考验知识的融会贯通和实际的使用

腾讯(一面)

①算法题:找出只出现两次的所有的数字
②ArrayList和LinkedList之间的区别
③HashMap的数据结构?挖
④volatile关键字?
⑤前沿的jdk版本和jdk8之间的区别?例如jdk11?
⑥String s = "abc",String t = "abc",s==t,s.equals(t)输出
⑦java中的垃圾回收?
⑧MySQL的索引?事务?幻读?为什么B+树?
⑨随机IO和顺序IO的差别?性能比较?
⑩Linux的进程分配内存包含哪些?

腾讯面试总结:纯粹看眼缘,不过确实团队好像是搞大数据的,问我学习过没,没有之后秒挂?之后如果再捞我,除了ieg,wxg其它的还是不面了吧,太玄学了

小米(一面)

①ArrayList和HashMap的应用场景?
②HashMap怎么保证其key的唯一性的?
③JVM的内存分区?类加载?
④限流算法?分布式场景如何限流?
⑤单例模式?挑一种实现说?
⑥算法题:①链表反转;②链表的前k个节点翻转

小米(二面)

①HashMap的put流程?解决哈希冲突有哪些方法?hashcode的生成?做了什么优化?
②concurrentHashMap的数据结构?entry中包含哪些字段?volatile保证什么?为什么JDK8改用node了?
③Synchronized和Lock的区别?
④类加载过程?对象内存布局?垃圾收集算法?CMS?GC的相关优化oopMap,安全点,安全区域?
⑤binlog用来干什么的?事务的隔离级别?幻读的解决?
⑥三次握手?
⑦算法题:手写生产者消费者模式?

小米面试总结:相对来说,常规一点,不过有的点也会挖一下,看看有没有关注源码中的详细设计。

商汤(一面)

①实习项目?秒杀demo的架构?数据一致性问题?
②传输层协议?TCP三次握手,四次挥手?
③HTTPS协议?restful协议?怎么选择使用哪个?条件搜索的话选择哪个?
④TCP的端口号范围?为什么在这个范围?
⑤什么情况上层协议的头部在下层协议头部的前面?
⑥get请求的body中能携带数据吗?
⑦为什么传输层包含端口号网络层没有呢?
⑧算法:快排

商汤(二面)

①HTTPS的建联过程?TCP,UDP的区别?
②Linux查看端口占用情况?怎么查看分区信息?怎么查看进程相关信息?
③select,poll,epoll区别?
④协程?go本身有提供性能测试,调试的工具吗?
⑤聊天,反问?

商汤(三面)

①自我介绍
②讲述一下自己做的有成就感的项目?
③CV方面的场景题:每个人脸图片都可以抽象成为一个包含256个浮点数的数组,现在有一个路口,10000个摄像头,10000个人路过。采集到一亿张图片,现在选取一张图片是A这个人的,然后我们在随机挑一张,怎么判断是不是A的?
④TOPk场景题:将上面一亿个数组的数字全部取出来放入到一个队列中,取第10000大的数字?


商汤面试总结:难度不大,感觉二面面试官不太像是搞技术的。问一个问题,要想好久,尴尬,空气都发酵了呢

快手(一面)

①redis的数据结构?sds?redis底层存储的数据是什么?都是字符串吗?哨兵和集群?持久化机制
②Java中连接数据库依赖哪些JAR包?
③Java和Go的比较?
④Java中的反射和动态代理的区别?
⑤Java中原子类的源码?怎么保证线程安全的?
⑥Java中的线程?start和run方法的区别
⑦Linux的文件句柄?怎么查看当前java服务被哪些远程服务调用?怎么定位进程的内存,cpu等信息?怎么定位内存泄漏的代码?
⑧场景题:怎么生成递增的单据号?分布式场景下?
⑨写一个限流方法

快手(二面)

①算法题:冒泡排序,二分查找,链表重排?
②多态和重载的联系和区别?
③数据库三范式?
④redis的特性?
⑤闲聊,反问?

快手(三面)

①shiro底层的权限模型?
②redis细问?数据结构?哨兵集群?rewrite aof?
③分布式锁?redis实现,zookeeper实现?
④秒杀深挖?整个流程?一致性保证?难点所在?解决方案?
⑤场景题:5个大巴,5个站点,只有5张大巴都到达站点,才能继续开完下一个站点?java api实现?自己实现怎么实现?
⑥10台服务器,一个有大量url的txt文件,怎么高效的下载url对应的文件?(限制:第一,服务器可能宕机;第二:每个机器配置不同,但是网络情况存在波动,无法通过所谓的权重轮询分配)?
⑦反问

网易(一面)

①hashcode()和equals()有什么区别?重写equals()有哪些点需注意?
②HashMap的数据结构?为什么加上红黑树?concurrentHashMap和HashMap的异同?
③redis的数据结构?使用的时候需要注意什么?性能风险在哪?redis的高可用?
④MySQL设计索引需要考虑什么?ACID?事务?
⑤实习做的事情?Java实现的话怎么实现?

网易(二面)

①限流算法?底层实现?
②RocketMQ怎么保证消息消费的顺序性?
③手写一个限流接口?

网易面试总结:面试时间整体在30分钟左右,有些问题想不起来了,只能先这样了

综上:还有一些小公司就不写了,祝大家都能拿到心仪的offer啊!加油加油!

#面试##面经##阿里巴巴##小米##网易##商汤科技#
全部评论
小米base哪的?收到offer了吗?看25号好像就二面过了🤣
点赞 回复
分享
发布于 2021-09-06 22:49

相关推荐

商汤 算法岗 (N+3)*15
点赞 评论 收藏
转发
2 20 评论
分享
牛客网
牛客企业服务