软件测试面试 | 一道大厂算法面试真题,你能答上来吗?(附答案)

简介: 大厂测试开发岗位面试经验分享

时光飞快,眨眼又到一年年底!

年底其实是跳槽换坑的绝佳时机,毕竟可以「年前面试,年后入职」,而且面试越早,好坑位较多,可选择的余地也较大。建议有换工作意向的测试同学可以多发发简历,多找找面试机会的。哪怕为明年的金三银四(人才流动高峰)积累点面试经验,都是极好的。

最近霍格沃兹测试学院学员 @ZZ 同学就去挑战了某大厂测试开发岗位。虽然没有面试成功,但也收(shen)获(shou)满(ci)满(ji)。下面就是他的面试经验分享,一起来康康吧!

测试开发考察范围广

面试大厂测开岗位,最大的感受就是 —— 难!!!

这里凭记忆简单罗列了这次技术面试考核重点(范围很广,提问很多):

Linux、Shell、Redis、MQ、Kakfa、ELK、Selenium、TestNg、Jenkins、Vue 生命周期、VueX、Vuerouter ...

基本每一个技能点都会出一道题,让你分析并给出自己的答案。另外,除了技术基础考核,也会着重问项目实战经验。

面试完不禁汗颜😓:现在大厂测试开发考查范围这么广的吗?年薪 35W+ Offer 挑战确实不小!还是要继续好好学习,夯实基础,准备好再来!

一道算法面试题,试试看?

下面是这次面试的一道算法题,看起来不是很难,但是在面试中,难免会有点紧张,做起来还是有点头大。同为测试的你,需要花几分钟解答呢?

本文也汇总整理了霍格沃兹测试学院同学的一些答案供参考(Python/Java/Shell 版本都有),欢迎在留言区留下你的答案!

【原题要求】:返回一个 IP 数组,并且按 IP 最后一位排序返回。(编程语言随意,只需要能够正确排序返回即可)

参考答案

Shell 版本

来自@Yvan:

来自@LensAclrtn:

来自网友@warmPhoto:

Python 版本

来自@Ronnie浩浩:

来自@天马:

来自@坏蛋:

来自@坏蛋:

来自@Nobita:

Java 版本

来自@小鸣:

@Test
public void test8(){
    /*
    * string="192.0.0.1?!289.0.0.1!0.0.0.0!192.163.10.28?192.0.0.1"
    * 要求:返回一个IP数组,并并且按ip最后一位排序返回。
    * */
    String ip_str = 
    "192.0.0.1?!289.0.0.1!0.0.0.0!192.163.10.28?192.0.0.1";
    String ip =
     "(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)”\\.(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)\\.(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)\\.(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)";
    Pattern pattern = Pattern.compile(ip);
    Matcher matcher = pattern.matcher(ip_str);
    List<String> list = new ArrayList<String>();

    while(matcher.find()){
        String s=matcher.group();
        list.add(s);
    }
    Collections.sort(list, new Comparator<String>() {
        public int compare(String o1, String o2) {
                return o1.split("\\.")[3].compareTo(o2.split("\\.")[3]);
//                return 0;
        }
    });
    for(String ip1: list){
        System.out.println(ip1);
    }
}

更多技术文章分享及测试资料点此获取

相关文章
|
28天前
|
存储 算法 编译器
米哈游面试算法题:有效的括号
米哈游面试算法题:有效的括号
25 0
|
2月前
|
开发框架 算法 搜索推荐
C# .NET面试系列九:常见的算法
#### 1. 求质数 ```c# // 判断一个数是否为质数的方法 public static bool IsPrime(int number) { if (number < 2) { return false; } for (int i = 2; i <= Math.Sqrt(number); i++) { if (number % i == 0) { return false; } } return true; } class Progr
60 1
|
27天前
|
负载均衡 算法 应用服务中间件
面试题:Nginx有哪些负载均衡算法?Nginx位于七层网络结构中的哪一层?
字节跳动面试题:Nginx有哪些负载均衡算法?Nginx位于七层网络结构中的哪一层?
37 0
|
2月前
|
传感器 算法 计算机视觉
基于肤色模型和中值滤波的手部检测算法FPGA实现,包括tb测试文件和MATLAB辅助验证
该内容是关于一个基于肤色模型和中值滤波的手部检测算法的描述,包括算法的运行效果图和所使用的软件版本(matlab2022a, vivado2019.2)。算法分为肤色分割和中值滤波两步,其中肤色模型在YCbCr色彩空间定义,中值滤波用于去除噪声。提供了一段核心程序代码,用于处理图像数据并在FPGA上实现。最终,检测结果输出到&quot;hand.txt&quot;文件。
|
7天前
|
算法 TensorFlow 算法框架/工具
基于直方图的图像阈值计算和分割算法FPGA实现,包含tb测试文件和MATLAB辅助验证
这是一个关于图像处理的算法实现摘要,主要包括四部分:展示了四张算法运行的效果图;提到了使用的软件版本为VIVADO 2019.2和matlab 2022a;介绍了算法理论,即基于直方图的图像阈值分割,通过灰度直方图分布选取阈值来区分图像区域;并提供了部分Verilog代码,该代码读取图像数据,进行处理,并输出结果到&quot;result.txt&quot;以供MATLAB显示图像分割效果。
|
7天前
|
存储 缓存 算法
面试遇到算法题:实现LRU缓存
V哥的这个实现的关键在于维护一个双向链表,它可以帮助我们快速地访问、更新和删除最近最少使用的节点,同时使用哈希表来提供快速的查找能力。这样,我们就可以在 O(1) 的时间复杂度内完成所有的缓存操作。哈哈干净利索,回答完毕。
|
10天前
|
算法 数据可视化 Java
数据结构与算法-单向链表的实现以及相关面试题
数据结构与算法-单向链表的实现以及相关面试题
7 0
|
20天前
|
算法 搜索推荐 Python
数据结构与算法在Python面试中的应用实例
【4月更文挑战第13天】本文聚焦Python面试中的数据结构与算法问题,包括排序算法、链表操作和树图遍历。重点讨论了快速排序、链表反转和二叉树前序遍历的实现,并指出理解算法原理、处理边界条件及递归操作是避免错误的关键。通过实例代码和技巧分享,帮助面试者提升面试表现。
13 0
|
20天前
|
设计模式 算法 Java
如何在面试中应对编程与算法面试?
面试中,编程能力至关重要,主要分为三个层次:初级关注基本功,如语法、原理和常见问题解决;高级涉及数据结构与算法,基础算法如排序对中小厂重要,大厂则需深入数据结构;资深专家层次需精通设计模式,以保证代码的扩展性和维护性。提升编程技能可采用PDCA循环学习法,从计划到执行、检查、行动不断迭代。通过实践项目如开发后端系统、测试框架来检验学习成果,并逐步学习算法和设计模式。坚持不懈的努力和重构将助你成为技术专家。记住,超越大多数人的关键在于持续学习和专注深耕。
7 0
如何在面试中应对编程与算法面试?
|
27天前
|
算法 安全 Java
java代码 实现AES_CMAC 算法测试
该代码实现了一个AES-CMAC算法的简单测试,使用Bouncy Castle作为安全提供者。静态变量K定义了固定密钥。`Aes_Cmac`函数接受密钥和消息,返回AES-CMAC生成的MAC值。在`main`方法中,程序对给定的消息进行AES-CMAC加密,然后模拟接收ECU的加密结果并进行比较。如果两者匹配,输出&quot;验证成功&quot;,否则输出&quot;验证失败&quot;。辅助方法包括将字节转为16进制字符串和将16进制字符串转为字节。