当前位置: 首页 > 面试经验 >

滴滴测开(笔试、一面、二面)

优质
小牛编辑
125浏览
2023-03-28

滴滴测开(笔试、一面、二面)

9/26二面

自我介绍

分布式锁和幂等性?用了redis的分布式锁解决了幂等性,然后blablabla。

问我setnx的key只用用户吗,那不是别的场次该用户也不能抢了吗,ttl是怎么样的?

提出了用订单作为key,下来后我想了想young当前商品的id+用户id来实现。订单key的话貌似也行。

削峰填谷的问题?Rabbitmq来完成blablabla,然后其实我很害怕他问数据一致性的问题了,属实是ptsd了。

RabbitMQ如何解决分布式的?死信+TTl,最终一致性。主要就是订单取消了,那么需要解锁库存。然后订单支付了或者那么就不用解锁了。

如何解决超卖问题?redission信号量,第三方的。

然后我解释的时候用了redis里面放值,然后每次查询,减。

并发安全?Lua脚本实现原子性质。

当然我前面说的redission的信号量是第三方的,其实原子性什么的都已经考虑进去了。

然后面试官突然想到,那有时候有些场景,我可以有超卖一点东西。因为大家下单了,也不一定会支付。

我其实有点难以理解,因为玩意都支付了怎么办呢?

然后后面面试官说,主要是先信号量可以设置多一点,然后动态调整这个库存,就是在秒杀的过程中,如果下订单支付订单是很多的,那么动态减小,如果很多人都其实不支付的,那么动态增加。

我补充说,我想到一种,再支付的时候在判断库存,没有的话就不让她支付。

面试官说,极端情况可以。但是体验非常不好。

问我消息中间件看起来rabbitmq用的多呀我说是的,还有什么吗。我说了解kafka。

区别?

Kafka吞吐量大,一般高吞吐量的都用它

Rabbitmq路由更加灵活,同时执行速度很快,us级别,比kafka快。

我当时用这个是因为kafka配置更加麻烦一点,还有zookkooper,而rabbitmq只需要ocker部署即可。

有一些想不起来了。

为什么想到这几个学习项目呢?

然后问我看你Java技术栈掌握的挺好的,为什么想到来测开呢?

主要的意思是权衡了今年的竞争压力,感觉还是得诚实一点。

我们这边其实跟你的技术栈是很符合的,blablabla。

你觉得你做侧开有什么优势吗?或者说你觉得测开是怎么样的?

我讲了很多,但是面试官讲了更多,真的挺好的。

主要有一点,我懂一些技术栈,所以可以更好的做一些白盒测试等等。

然后说,看你字里行间,还是测开是第二志愿呀。

我说,能做测开我也做的。因为。。。说不出来了,工作不好找呀。

反问,没有手撕吗?

本来是准备了的,看聊的比较久了,然后也挺好的,就没了。

准备是准备了的,拿来一题吧,讲讲思路。(md,多嘴了呀)

海量数据,数据的内容只有int整数,给你一个数据,如何查找最快?

一开始没有太懂,以为就查询一次,直接一个个查询呀?

说是以后每次给你,查询都要快。

我先说了先用归并将数据排序,然后每一段数据标志出这段区间的数据,然后二分。

面试官说,你考虑是一个32位的整数,可以考虑数据压缩吗?

啊奥奥,用一个很大的2^32的个数的二进制书,如果数字n存在,那么相应的位置置1。

反问:

部门,技术栈。

做石油能源的貌似。

10/9二面

37min

问的挺多,不难,面试官人也挺好的,没有为难。

自我介绍。

你也知道你报的是测开岗位,对测试开发的了解。

Blablabla,当然也诚实的说了,可能后端了解的更多一些。但是也可以更好地进行白盒测试。然后权衡了今年就业的竞争压力,所以投了滴滴测开,我挺想进滴滴的。

黑盒白盒的区别?

联邦学习的运用场景?

难点?

有了解过kafka吗?为什么不用呢?

介绍了两者的区别。然后说考虑到rabbitmq的路由的灵活性以及传播方式,然后kafka的部署稍微复杂一点。

怎么想到做性能测试了?

你有没有想过并发量是550之后,有没有考虑过是什么限制了并发量?

我说了redis的内存不够?本地电脑CPU不够?等一些问题。然后又补充当时的秒杀已经做了很多优化了:rabbitmq的异步,削峰填谷,单一微服务,nginx动静分离等等。

(我感觉可以这么说:我知道其实做优化,最主要的还是代码层面的优化,然后就是逻辑方面,这一些我当时都已经查了很多资料做好了,比如rabbitmq异步,nginx动静分离等等,然后我就考虑是不是redis的内存不够了?cpu性能问题等等?当然一开始是说了JVM的对内存调优的)

性能测试的时候有没有遇到一些bug之类的?

给你一个场景,比如登陆,需要账号密码,你考虑哪些一些测试用例?

mysql的慢查询?

讲了如何开启日志?然后索引方面?

然后讲了如何解决就是分库分表,慢查询之类的。

为什么索引比不索引快?因为排好序了,二分查找呀。

索引底层怎么实现的?也是B+,顺序,类似于二分查找。

Redis的击穿问题?讲了由来和解决方案。

Hashmap的查询时间复杂度?O(1),最坏情况呢?O(logn)或者O(n),看数据是链表还是红黑树?

Hashmap线程不安全,会带来啊些问题?数据覆盖,1.8以前由于头插法扩容时候的死循环问题等等。

项目里面的难点?

介绍了恐龙商城的调试。

没有手撕。
反问:

到时候我过去的话,是去哪个部门,统分的还是跟你一起的部门?

脚本的话用什么语言?都可以看自己。

部门的业务?

技术面一共几面?

 类似资料: