📜  Yugabyte 的 SDET 面试体验(测试中的 SDE)(1)

📅  最后修改于: 2023-12-03 15:21:22.715000             🧑  作者: Mango

Yugabyte 的 SDET 面试体验(测试中的 SDE)

最近我参加了Yugabyte的SDET面试,与大家分享一下我的体验。

内容

面试整个过程分为三个部分:考察语言熟练度的编程测试、手写代码测试、以及技术面试。

编程测试

编程测试主要考察了我的Java编程技能,主要是考察类的继承、方法的重载与重写,以及线程。

以下是一个例子:

class Animal {
  public void move() {
    System.out.println("Animals can move");
  }
}

class Dog extends Animal {
  public void move() {
    System.out.println("Dogs can walk and run");
  }
}

public class TestDog {
  public static void main(String args[]) {
    Animal a = new Animal(); // Animal 对象
    Animal b = new Dog(); // Dog 对象

    a.move(); // 执行 Animal 类的方法
    b.move(); // 执行 Dog 类的方法
  }
}

输出结果:

Animals can move
Dogs can walk and run
手写代码测试

手写代码测试主要考察我的编程能力和算法思维。

以下是一个例子:

public class Solution {
  public int maxSubArray(int[] nums) {
    int max_so_far = nums[0];
    int curr_max = nums[0];

    for (int i = 1; i < nums.length; i++) {
      curr_max = Math.max(nums[i], curr_max + nums[i]);
      max_so_far = Math.max(max_so_far, curr_max);
    }

    return max_so_far;
  }
}

这道题的思路是用动态规划算法,用两个变量记录最大子数组和以及当前子数组和,每次取较大值。

技术面试

技术面试主要考察我的测试经验和能力,包括自动化测试、性能测试、安全测试等方面。

以下是一些可能会被问到的问题:

  • 你有没有做过自动化测试?用过哪些自动化测试框架?
  • 你有没有做过性能测试?用过哪些工具?
  • 你如何保证测试数据的安全性和隔离性?
  • 你知道哪些测试相关的设计模式吗?
总结

Yugabyte的SDET面试是一个相对综合的面试流程,主要考察了我的编程能力、算法思维、以及测试经验和能力。通过这个面试过程,我对于Java编程和测试方面的知识都有了更深入的认识,对于我的职业发展也有很大的启示。