📜  Petronas 全栈工程师面试经验(1)

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

Petronas 全栈工程师面试经验

Petronas作为马来西亚最大的石油和天然气公司,一直在全球范围内招聘技术人才。对于全栈工程师面试,以下是一些经验和建议:

面试准备

在面试之前,你需要准备以下内容:

  • 大家熟知的算法和数据结构,这是每个面试的必备题目。
  • 相关的编程语言和技术栈。因为这是全栈工程师的工作,所以必须熟悉多个技术栈和语言。
  • 熟悉相关的框架,例如React或Angular等,熟悉框架的优点和缺点,有深入的理解。
面试流程

Petronas的面试通常由几个部分组成:

  1. 技术测试,包括编码和算法部分
  2. 技术面试,重点询问技术细节和经验
  3. 文化匹配,观察你是否适合公司文化和团队中的其他成员。
技术测试

在技术测试中,您可能会遇到以下问题:

  1. 算法题 - 数组,链表,树,堆栈等等
  2. 编码测试 - 编写代码以满足特定需求
  3. 设计测试 - 设计一个简单的站点或工具

以下是一些更具体的题目类型:

数组交集

考虑两个整数数组 nums1 和 nums2,回答两个数组中共同存在的元素(即数组交集)。

def intersect(nums1: List[int], nums2: List[int]) -> List[int]:
    lookup = collections.Counter(nums1)
    res = []
    for num in nums2:
        if lookup[num] > 0:
            res.append(num)
            lookup[num] -= 1
    return res

这个解决方案使用了列表和Counter字典模块。

字符串反转

编写一个函数reverse,它接受一个字符串作为输入并返回反转后的字符串。

def reverse(s: str) -> str:
    return s[::-1]

这里使用了Python字符串的切片。[::-1]是Python中使用的标准惯用法,用于字符串反转。

设计一个URL缩短器

设计一个URL缩短程序,将原始URL转换为短URL,并且还可以将短URL转换回原始URL。

这可能需要使用哈希表和其他数据结构来计算短URL和原始URL之间的映射。

技术面试

技术面试中,会给你更多的深入问题,并询问你的经验。以下是一些可能的问题:

  1. 您最喜欢使用的编程语言是什么,为什么?它的优点和缺点是什么?
  2. 如果您在设计中实现了错误,您会如何排除它?
  3. 你在项目中使用什么工具和框架?
  4. 您最近使用的库或框架是什么?它的使用场景是什么?
  5. 如何评价微服务化?

这些问题旨在测试您的思考方式,以及您是否具备团队合作和交际技能。

文化匹配

最后,面试官会试图了解您是否与公司以及团队的文化和价值观匹配。考虑在面试的过程中重点关注以下内容:

  1. 公司在技术上投资的程度
  2. 公司将工作和私人生活保持平衡的方法
  3. 公司的文化和可持续性措施

尤其是最后一个问题,Petronas注重可持续性,因此在面试过程中要体现这个价值观。

在面试过程中,要有自信,清楚地表达自己,以及表现出对公司的兴趣。祝您好运!