📜  Sabre面试经历 | NIT 巴特那 – SDE(1)

📅  最后修改于: 2023-12-03 14:47:12.127000             🧑  作者: Mango

Sabre面试经历 | NIT 巴特那 – SDE

简介

Sabre是一家提供技术解决方案的公司,主营业务包括全球范围内的旅行和财务交易。NIT 巴特那是 Sabre 在印度的研发中心,拥有一支庞大的技术团队。

作为一名SDE,我有幸参加了 Sabre 在 NIT 巴特那的面试,接下来是我的面试经历。

面试过程
第一轮(在线笔试)

面试的第一轮是在线笔试,主要测试代码语法和数据结构算法基础知识。笔试题目包括以下内容:

题目一

编写一个程序,实现在一个给定的字符串中查找特定单词的数量和位置。

解题思路:

def find_word(s, w):
    count = 0
    positions = []
    words = s.split(' ')
    for i, word in enumerate(words):
        if word == w:
            count += 1
            positions.append(i)
    return count, positions

题目二

有一个数组,其中所有元素都是正整数,找出这个数组中最小的正整数。

解题思路:

def find_smallest(a):
    a.sort()
    for i in range(len(a)):
        if a[i] > 0 and a[i] != i+1:
            return i+1
    return len(a)+1

题目三

给定一个字符串 s,求出 s 中所有子串的个数。

解题思路:

def count_substrings(s):
    count = 0
    for i in range(len(s)):
        for j in range(i+1, len(s)+1):
            count += 1
    return count
第二轮(技术面试)

第二轮是技术面试,主要测试基础知识和算法实现能力。面试官会提供一些算法题目,让你进行实现和解决。

题目一

给定一个二叉树,求出树的最大路径和。

解题思路:

class TreeNode:
    def __init__(self, val=0, left=None, right=None):
        self.val = val
        self.left = left
        self.right = right

class Solution:
    def maxPathSum(self, root: TreeNode) -> int:
        self.result = float('-inf')
        self.helper(root)
        return self.result
    
    def helper(self, root):
        if not root:
            return 0
        left_sum = max(0, self.helper(root.left))
        right_sum = max(0, self.helper(root.right))
        self.result = max(self.result, left_sum+right_sum+root.val)
        return max(left_sum, right_sum) + root.val

题目二

给定一个有序数组 和一个目标值 target,找出数组中和为 target 的两个数的下标。

解题思路:

def two_sum(nums, target):
    left, right = 0, len(nums)-1
    while left < right:
        if nums[left] + nums[right] == target:
            return [left, right]
        elif nums[left] + nums[right] < target:
            left += 1
        else:
            right -= 1
    return [-1, -1]
第三轮(HR面试)

第三轮是 HR 面试,主要测试沟通能力和文化匹配度。面试官会问一些有关个人职业规划和公司文化的问题,例如:

  1. 你对 Sabre 公司的文化有什么了解?
  2. 你对自己将来的职业规划有什么计划?
  3. 你如何处理工作中的压力和挑战?
总结

参加 Sabre 在 NIT 巴特那的面试是一次很好的经验。面试总体难度中等,主要考察了基础知识和算法实现能力。掌握基础知识和算法,拥有良好的沟通能力,是取得面试成功的关键。