📅  最后修改于: 2023-12-03 15:21:02.545000             🧑  作者: Mango
在面试前,我研究了一些开放职位,并与一位曾经在 VMware 工作的同学交流,了解了公司文化和技术栈。我还浏览了 VMware 的产品和项目,以及其在技术领域中的领先地位。
在面试前,我还准备了以下内容:
面试分为两轮,每轮大概60分钟。
在第一轮面试中,我和面试官主要聊了一些技术问题和项目经历:
提到了我在项目中使用的技术栈,包括 Python、Django、PostgreSQL 和 Redis。面试官随后问到了 Django 中的一些 ORM 和路由的详细细节。
我提到了我在机器学习中使用的技术,面试官随后问到了神经网络的工作原理和最常见的几个算法。
面试官也问到了使用 Redis 的原因和如何配置 Redis 集群以及其工作原理。
第二轮面试中,我与两名面试官进行了在线代码练习。
首先,面试官给我一个数组,要求去除其中的重复元素,并返回去除重复元素后的数组。
def remove_duplicated(nums: List[int]) -> List[int]:
nums = set(nums)
return list(nums)
接着,面试官给了我一道题目,要求计算二叉树的直径。
class TreeNode:
def __init__(self, x):
self.val = x
self.left = None
self.right = None
class Solution:
def diameterOfBinaryTree(self, root: TreeNode) -> int:
self.ans = 0
def depth(node):
if not node:
return 0
L = depth(node.left)
R = depth(node.right)
self.ans = max(self.ans, L+R)
return max(L,R) + 1
depth(root)
return self.ans
我觉得在面试期间,我表现得很好,仔细聆听了面试官的问题,并以专业且自信的态度回答了问题。我的代码练习也得到了很高的评价。总之,VMware 面试对我来说是一次非常具有挑战性的经历。