📅  最后修改于: 2023-12-03 14:58:52.110000             🧑  作者: Mango
最近我有幸参加了高通校外的面试,下面分享一下我的经历和感受。
首先需要提供一份完整的简历,包含个人信息、教育背景、工作经历、项目经验和技能等。面试官根据简历筛选出符合要求的候选人进行面试通知。
收到面试通知后,我需要通过一道在线的算法题来筛选。对于我来说,这是一道关于数组的题目:找到数组中任意两个数的和等于目标值,返回这两个数的下标。这道题需要在30分钟内完成,考察的主要是我的编程能力和解题思路。
以下是我的代码实现:
def twoSum(nums, target):
hashmap = {}
for i, num in enumerate(nums):
if target - num in hashmap:
return [hashmap[target - num], i]
hashmap[num] = i
return []
通过筛选后,我进行了一次技术面试。面试官主要问了我一些关于数据结构、算法、操作系统和编程语言等方面的问题。我觉得最有挑战性的问题是如何判断链表是否有环。我给出了一种快慢指针的算法,并写出了相应的代码实现。
以下是我的代码实现:
def hasCycle(head):
if not head or not head.next:
return False
slow = head
fast = head.next
while slow != fast:
if not fast or not fast.next:
return False
slow = slow.next
fast = fast.next.next
return True
最后一轮是一次HR面试。面试官主要关注我的个人情况,例如家庭背景、兴趣爱好、职业规划等。我自然、真诚地回答了所有问题,并且表达了自己对高通这个公司的兴趣和期望。
总体来说,高通的面试过程非常严谨、专业,考察的不仅仅是我的技术能力,更关注我的人品和未来发展。希望我的经历能够对即将面试的程序员有所帮助。