1. 自我介绍
2. 项目介绍
3. 项目排查思路
4. 功能测试需要注意的点
5. 说一下你做压测的流程
6. 测试期间用到了哪些工具
7. Linux系统中去查看内存的命令
8. 刚才你有说性能优化排查,那么有一个常见的思路就是去看一下JVM里面的GC情况(这块真慌了,因为我在项目中基本上只考虑到了MySQL的一些排查优化,没考虑JVM,所以说下面JVM相关的东西基本上是乱答了)你先说一下在项目调优过程中会用到的命令,比如说想看一下JVM中的一个GC的情况这样
9. jstat和jmap的区别
10. jmap有没有了解
11. 查看GC情况可以用到哪些工具(这里面试官应该是希望我用过VisualVM)
12. 怎么去查看日志,可以用什么工具
13. 有没有做数据分片?
14. 我见你项目中都用到了Redis,问一下你在Redis中都去存放了什么数据
15. 比如说有一个排行榜的功能,你会用什么Redis数据类型
16. 你知道有序集合的底层实现吗
17. 比如说现在有一个top10的一个界面实现,体现在代码层面上,你是会先自己进行一个排序,然后塞到10这个框内,还是说会在10的里面不断进行动态排序呢?
18. 我见你还做了一个电商的项目,你的项目中有热key这个问题吗
19. 大概是一种什么现象,会带来哪些问题
20. 怎么去解决热Key问题(我的回答偏向于缓存方面,面试官更希望是分片集群方面)
21. 我见你其实在简历上说自己考虑到了这个主从模式了,能说一下具体怎么做的吗,怎么去考虑负载均衡这个问题
22. 有了解集群模式吗
23. 你在做测试的时候是在做黑盒测试还是白盒测试
24. 测试过程中是测试单个接口还是说去测试整个链路(分情况考虑)
25. 如果是整个链路的测试,你可能会关注哪方面,性能还是什么?
26. 你这个是一个Java项目嘛,想知道一下你们在做测试的时候,怎么去看测试日志,是自己做了一个日志系统还是说去后端服务器上看
27. Java日志的存放位置
28. 查看日志怎么去看(想考察一下tail,less等以及grep、awk、sed这些命令的使用)
29. 给一个场景:有一个功能测试的场景,在发起一个请求之后,发现这个接口特别的慢,在一个真实的线上系统中,我们的项目并不是依靠单一的服务,而是依靠层层依赖的微服务去实现的(这里吓懵逼了,没学过微服务)调用的接口不止是线上看到的那一个,底层可能调用到了很多接口,这个时候要怎么去排查解决慢接口问题
30. 接口有时候传递参数是动态的,底层的业务逻辑可能会很复杂,有的时候你换了个参数,这个接口的反馈速度就不同了,现在你想查一下这个请求到底干了什么事情,链路到底是怎么实现的,你会去怎么分析
31. 出了一个MySQL语句,用到了索引和分页,问这个语句在执行器中的执行顺序、有没有用到索引、用到的是哪个索引、这个索引为这个语句返回了什么内容、异步之后执行了什么操作、最终为我们返回的是什么(面试的时候一直没听懂面试官想问我什么,再加上自己确实平常只是用MySQL索引,并没有关注索引到底为数据库返回了什么数据,后来反问阶段问了一下这个题,面试官希望我从索引的数据结构,也就是根节点叶子节点层面上去考虑这个题)
32. 大三课业情况以及实习时间
33. 反问
#牛客激励计划##牛客创作赏金赛#