霍格沃兹测试开发学社

《Python测试开发进阶训练营》(随到随学!)
2023年第2期《Python全栈开发与自动化测试班》(开班在即)
报名联系weixin/qq:2314507862

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

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

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

最近霍格沃兹测试学院学员 @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);
    }
}

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

posted @ 2020-11-24 14:30  霍格沃兹测试开发学社  阅读(693)  评论(0编辑  收藏  举报