📅  最后修改于: 2023-12-03 15:12:56.747000             🧑  作者: Mango
这是高通在我的大学校内面试的第 10 组,我作为一名计算机专业的学生,参加了这次面试。
在自我介绍环节,我向面试官介绍了我的专业背景以及相关项目经历。
在算法考察环节,我被要求解决一个经典问题:反转链表。
我用了递归的方法,写出了如下代码:
def reverse(head):
if not head or not head.next:
return head
new_head = reverse(head.next)
head.next.next = head
head.next = None
return new_head
面试官对我的代码给予了肯定,并问了一些关于时间和空间复杂度的问题。
在编程能力考察环节,我被要求编写一个程序,将一个字符串中的单词反转。
我用了 Python 中的 split 和 join 方法来实现:
def reverse_words(s):
return ' '.join(reversed(s.split()))
面试官很快就通过了我的代码,并询问了一些关于 Python 语言的细节问题。
在技术问题提问环节,面试官问了我关于 TCP 和 UDP 协议的区别,以及 TCP 协议的三次握手和四次挥手过程。
我向面试官认真解答,并给出了对应的原理图。
在面试官问题回答环节,我主要回答了一些关于我的项目经历的问题,包括实现过程、遇到的问题以及解决方法。
面试官对我的项目给出了很高的评价,并向我提供了一些有用的建议。
通过这次面试,我不但学习了很多有用的知识,还获得了更多的自信和动力。我相信这次面试的经历将对我未来的职业发展产生积极的影响。