微软面经

本文分享了作者两次微软面试的经历,包括笔试和两轮面试的详细过程。在一面中,讨论了平面上点共线问题和日程表查询问题,尽管解决了但思路不够清晰。二面中,面对字符串子串问题,未能给出高效解决方案。总结指出面试时思路清晰的重要性及加强算法练习的必要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

pre

算上15年,本科那次,这已经是第二次微软面试了,可惜两次都没有过,之前是面实习,走到了三面,然后讨论算法的时候没有被认可,被刷了。这次感觉是准备不充分,一面的时候表现的思路太混乱,被reject,二面面试官也没有给我好脸色,然后算法部分没有给出最优算法,果断被刷掉了。

基本过程

笔试

没有太大的难度,编程基本功扎实就能过,很水,不多聊。

一面

一面面试官针对我最近的一次的实习内容做了提问,可能因为很多业务相关,并且面试官对于我那份实习相关的知识并不精通,所以实习背景部分聊的还OK,接下来就是两条笔试题。

第一条是评断平面上一堆点是否在两条直线上,我在思考了一阵之后,还是决定,先选取前三个点,判断是否共线,如果共线,尝试在该直线之外找到一条新的直线,在检查剩下的所有点是否在这两条直线上,如果三点共线,那么我可以确定三条直线,然后假设任何一条是目标直线,然后根据另外一个点尝试构建一条新的直线,然后检查平面上的其他的点。算法复杂度大概是 O(n).。在回答的过程中,我思路有点混乱,在构建直线的时候,忘记考虑x=xi的问题,然后被指了出来,最终修修补补把整个程序怼了出来,看起来面试官还不错,没有因此就直接把我reject了。

第二条是已知一个人的日程表,日程表中有很多任务,每个任务有一个开始和一个结束时间,任务之间可能重叠,这边的时间是一个虚构的概念,时间的值可以任取,范围不做限制。我的第一想法是构建线段树,但是应为时间范围不受控,我放弃了(当然这是一个错误决策,之后会说)。然后我提出了根据任务的开始时间进行排序,然后对于存在重叠时间的任务做合并,也就是构建繁忙时间段,然后根据时间去查询空闲时间,基本的时间是排序的时间复杂度是O(N logN),然后做合并的过程是O(N),最后查询的过程也是O(N)。 当然,我觉得面试官还是不喜欢这个算法, 然后他最后也暗示我了有更有的算法,然后我想起来了离散的线段树,首先将所有的开始时间和结束时间收集起来,然后做排序,根据排序做与index 的映射,然后构建离散线段树,最后构建的过程是Nlog N , 然后查询的过

### 微软STCA软件测试工程师实习试经验 对于希望申请微软STCA(互联网亚洲工程院)软件测试工程师实习生职位的人士而言,准备充分至关重要。候选人通常会经历多轮筛选过程,包括在线评估、电话试和技术谈。 #### 在线编程挑战 初步筛选阶段可能涉及完成LeetCode或其他平台上的算法题目[^2]。这些练习旨在考察候选人的编码能力和解决问题的速度与准确性。建议熟悉常见的数据结构和算法概念,并通过刷题来提高解题技巧。 #### 技术试环节 技术试重点在于深入探讨项目经验和解决实际工作中遇到的技术难题的能力。可能会被问到关于如何设计测试框架、编写自动化脚本以及调试复杂系统的具体案例分析。此外,沟通表达能力同样重要,能够清晰阐述思路并接受反馈是分项之一。 #### 行为类问题 除了技术和逻辑推理外,行为型问题是不可或缺的一部分。这类问题关注求职者的团队协作精神、应对压力的方式及其职业规划等方。分享过往成功克服困难的经历有助于展示个人特质和发展潜力。 #### 准备资源 为了更好地备考,可以参考GitHub上由前员工整理的相关资料库,其中包含了大量有价值的提示和常见考题汇总。同时也要留意行业动态及目标公司最新研究成果,这不仅有利于拓宽视野还能增谈话素材,在交流过程中展现出对公司文化的认同感。 ```python def prepare_for_interview(): study_resources = ["LeetCode", "GeeksforGeeks"] practice_topics = [ 'Data Structures', 'Algorithms', 'System Design' ] # Engage with community resources and past interview experiences shared online. github_repo = "https://github.com/owenmx/MyInterview" return f"Focus on studying from {study_resources} while practicing topics like {practice_topics}. Explore the repository at {github_repo}" ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值