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

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

阿里(一面)

①实习项目业务的介绍?
②限流算法的介绍?令牌桶和漏桶的各自优劣?选取的时候考虑怎样的因素?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

相关推荐

     又挂了,估计后面会叕挂了。这次面试官依旧很好,全程引导,面了半小时项目和场景题,然后又聊了20分钟,给了我很多建议(非常感谢),没有问八股也没有手撕。题目如下(黑马点评项目):1. 数据库的表怎么设计的,用户表都存了那些字段。2.userid怎么设计?我说可以随机。他说那你觉得随机会不会有问题?我说有可能会重复。他说,这也是个问题,那你该如何设计userid?我说自增?他问为什么要自增?答不上来了3. 讲一下乐观锁解决超卖?说一下修改库存的sql代码?4. 讲一下一人一单5. 讲一下分布式锁是怎么实现的。6. 讲一下消息队列的作用,一般什么情况下使用。7. 我们前面说的是正常的情况,下面我们讨论一下异常的情况,该怎么应对redis宕机?8.高并发的情况下频繁的修改库存,你该怎么办呢?我说100的库存,可以分成十份,这样就从访问一个key,变成访问10个key了。他说那数据库那边呢?我说可以将修改库存的操作放入消息队列中,异步的去操作。        项目的问题基本上就到这里了,还有几个小问题记不太清了,希望能帮到大家。        总结:整体表现比上次面蚂蚁强一些,就是前两个问题答的太稀碎了,自己看项目的时候太粗糙了。面试官一问我表的相关字段,脑子直接懵掉了        小建议:面试要早一些,先面个一次两次的,一方面是像别人说的,早来坑位更多,另一方面我觉得是可以及时的认识到自己的差距,及时调整。我在面试前准备了一个月左右,然后每天都悠哉悠哉的,一天学个两三个小时。如果不是这两次面试的话,我估计会继续悠哉悠哉到五月份,到时候才警醒就更难了。        加油加油!明天还有个团子,面完这一个,就先修整一段时间,沉淀沉淀,再继续面了。       可以失败,但永不放弃。失败了不可怕,犯错误了也不可怕,关键是面对失败,面对挫折,是选择沉沦,或者继续悠哉悠哉,还是做出改变,努力去提升自己。我想做第三种。
点赞 评论 收藏
转发
2 20 评论
分享
牛客网
牛客企业服务