📅  最后修改于: 2023-12-03 15:27:07.813000             🧑  作者: Mango
最近我参加了瑞银公司的实习面试,以下是我的面试经历和一些总结。
初试主要是技术面试,包括算法和编程题。
在算法方面,面试官主要考察了我对于排序算法和二分查找的掌握。他问我快排的时间复杂度是多少,最好情况、最坏情况有何区别。然后,他向我提出了一个问题:给定一个长度为n的有序数组,查找某个元素是否在其中,并返回该元素的下标。我首先想到了二分查找,但这个题目有一些 trick,要考虑一些边界条件,比如查找目标不在数组中的情况。最终,我在和面试官的讨论中,完整地实现了这个算法。
在编程题方面,面试官给我了一个任务:实现两个字符串的相乘。这是一道经典的算法题,我的第一反应是用竖式来做。但这种方法效率很低,时间复杂度为O(n^2),面试官希望我能找到更好的解决方法。
我仔细思考后,想到可以先按照乘法的规则计算出每一项的值,然后再将它们相加。这样,时间复杂度可以达到O(n*logn)。我向面试官详细解释了这个思路,并用代码实现了它。
复试主要是团队交流以及一些项目经历。
复试的第一部分是团队交流。面试官告诉我们一个故事,让我们一起来讨论,如何能更好地解决问题。通过这个过程,面试官考察我们的沟通能力和团队合作精神。
我和其他面试者积极参与了讨论,我表达了我的观点,并且也认识到了其他人的优点。面试官对于我们的团队表现给予了正面评价。
在项目经历方面,面试官主要关注我们做过的项目中,我们是如何解决难题的,我们遇到的问题以及它们是如何被解决的。
我向面试官介绍了我的天气预报应用程序。在这个项目中,我学习了很多关于第三方 API 的知识。我也绘制了一些流程图和类图,以便更好地描述我的设计思路。
总之,我的面试经历非常充实,我收获了很多。面试官很专业,并且能够很好地指导我们的答题和沟通。我希望通过这次面试,能够成为瑞银的一员。