文章目录
前言
本来以为京东一面已经凉了,因为是国庆之前面的,时间太久了。没想到,昨天面试官小姐姐打电话约了二面,还是蛮激动的。这次面试还是电话面,聊了50分钟,涉及到项目、算法、测试、未来的方向一、项目
1.介绍下这些项目中你认为做的最好的,说下亮点。
我介绍了聊天室,(毕竟印象最深,并且有东西可以聊),说了两个亮点:通信协议、UDP文件传输,又讲了项目的不足:BIO模型,可以扩展为NIO模型。
2.介绍猫眼影院项目,服务网关的功能是怎么做的?
我讲了做这个项目的初衷(涉及到另一个项目),讲了服务聚合、权限控制、服务熔断这些的概念。
但是面试官又问,这些具体是怎么实现的?
答:用工具 org
有考虑过底层原理嘛?
只是实现,没有深入了解。。。
定个目标:搞懂Zookeeper、Dubbo源码原理
3.项目开发过程中有做过测试吗?
答:做过简单的测试,针对后端生成的接口进行测试,针对service进行测试,对mapper.xml代码中的sql进行测试。(我觉得面试时候问的问题,即使自己答不出来或者没有把握自己说的对不对,也不要说完全不会或者没做过)
4.进程之间通信?
这道题搞得我有点懵,没答出来(其实本来就不会)。文章:进程间的五种通信方式
后来发现,我可以跟她讲并发编程底层原理,进而把话题引导到volatile可见性
这个图其实就说明了一种通信方式,共享内存
关于并发编程底层原理,可以看我另一篇博客:https://blog.csdn.net/qq_44357371/article/details/108431690
测试(包括写代码)
5.手写字符串转int(比如:“123”转成123)
这道题是面字节时候的原题,但是,,,我面完之后,没再去刷这道题,后悔死。
我把我当时的思路又写了一遍(bug多多):
6.针对这个代码,写几个测试用例,你会怎样改进?
(当问到这个问题,我虽然有点懵,但还是比较庆幸,庆幸自己上面写了这么多bug,让我后面有东西能说)
- 输入正常的数,比如“12345”,看是否出来正确结果
- 输入“123abc”,报错,需要排除非数字的字符
- 输入“10022”(高位为0),会出错。在for循环加判断。
- 输入超长的字符串,会导致越界。没想出来怎么解决,可能会用到ArrayList
7.了解哪些简单的测试方法?或者说点概念?
突然想起了昨天测试课和之前软工课上老师讲的知识点,就说了黑盒测试,白盒测试,系统测试,单元测试等等。
8.项目中的单元测试?
9.未来方向
(虽然面的是测开,但是未来还是要往架构师或者管理层发展)
10.反问
问了测试开发的工作,开发的话主要做什么。