腾讯音乐后台开发暑期实习一面
总体用时1小时42分,所有面试中强度最大的一个了
每一个点都挖得很深,当时状态也不太好,面晕了
1、自我介绍一下
2、讲一下项目是如何设计的
3、redis+lua扣减库存是怎么做的
4、为什么redis+lua能够保证原子性,原子性是在哪一个级别的
5、使用rocketmq实现一个削峰,扣减库存不是已经在redis里面做了吗,为什么还要有这样一个逻辑
6、redis和mysql中的数据以哪个为准,并且会不会存在一致性的问题
7、有没有更好的办法解决
8、rocketmq的底层了解吗
9、为什么用rocketmq,为什么不选kafka或者业界的一些其它方案呢
10、了解rocketmq的机制吗,生产者到消费者这个流程能够讲一下吗
11、redis分布式锁讲一下怎么实现的,为什么要有分布式锁
12、set指令怎么做到互斥的
13、说一下另一个项目的慢sql查询
14、sql的索引你了解吗,怎么实现的,基于什么数据结构实现的
15、b+树的时间复杂度是多少
16、在哪些场景下索引会变得越来越慢
17、写两道算法题:
先讲思路,然后优化,最后再动手写代码,一道题15分钟
(1)给你一个有序整数数组,数组中的数可以是正数、负数、零,请实现一个函数,该函数返回这个数组中所有数的平方有多少种不同的取值。 输入1:nums = {-1,1,1,1}, 输出:1。因为这个数组所有数的平方取值都是1,只有一种取值 输入2:nums = {-1,0,1,2,3} 输出:4。因为nums数组所有元素的平方值一共4种取值:1,0,4,9
(2)topK问题
18、Java的jvm了解吗,可以讲一下你对Java语言的理解,是怎么运行的
19、Java支持热更新吗
20、你对nginx的了解是什么
21、为什么nginx要有分发
22、跨域是由谁控制的
无反问环节,面完后秒挂
#我的实习求职记录#