2022春季暑期实习-微软一面
投递时间
2022.2.9
第一次面试时间
2022.3.7
面试过程
首先自我介绍
提前准备,照着说
介绍自己的项目
我先说了一个自己作为负责人的实验室校企合作项目,讲解了项目内容,做了啥?然后开始反问细节,问到了皮尔逊相关系数,大脑短路,想了半天跟面试官说忘了。之后又问了我在建立上写的开源小项目,本科时候做的,因为star数量多,就写了上去,说实话没有啥技术量,然后也没有太说清楚,就自己直接开始说提前准备好的挑战来拖时长。之后进入编程阶段。
协方差和标准差的商
编程
共享屏幕,均在本地IDE上写,我好久没在本地写过C++了,就直接打开VS Code,打开了记事本开始写。。。说实话都忘了怎么输入了,最后就没有编译,直接对着代码讲思路。。。
第一题
快速排序,前几天看过,但没背,就现场推,然后就推出了车祸现场。。。下面整理真正的快排算法。
int partition(int A[], int p, int r){
int x = A[r], i = p-1;
for(int j=p; j<r; j++){
if(A[j] <= x){
i++;
int tmp = A[j];
A[j] = A[i];
A[i] = tmp;
}
}
int tmp = A[r];
A[r] = A[i+1];
A[i+1] = tmp;
return i+1;
}
void quickSort(int A[], int p, int r){
if(p < r){
int q = partition(A, p, r);
quickSort(A, p, q-1);
quickSort(A, q+1, r);
}
}
第二题
面试官觉得写得有问题,直接来第二道,是个链表题,题目大意是给两个链表,每个链表均存着一个数字,逆序组成两个数字,这两个数字相加得到第三个数字也存在一个链表里面,输出第三个链表。(leetcode原题) 下方链接和代码:
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode() : val(0), next(nullptr) {}
* ListNode(int x) : val(x), next(nullptr) {}
* ListNode(int x, ListNode *next) : val(x), next(next) {}
* };
*/
class Solution {
public:
ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
ListNode* head1 = l1;
ListNode* head2 = l2;
ListNode* node1 = new ListNode(0);
ListNode* head = node1;
int x = 0, y = 0;
while(head1!=nullptr || head2!=nullptr){
if(head1 == nullptr){
x = (head2->val+y)%10;
y = (head2->val+y)/10;
// cout << x << endl;
ListNode* node2 = new ListNode(x);
node1->next = node2;
head2 = head2->next;
}
else if(head2 == nullptr){
x = (head1->val+y)%10;
y = (head1->val+y)/10;
// cout << x << endl;
ListNode* node2 = new ListNode(x);
node1->next = node2;
head1 = head1->next;
}
else{
x = (head1->val+head2->val+y)%10;
y = (head1->val+head2->val+y)/10;
// cout << x << endl;
ListNode* node2 = new ListNode(x);
node1->next = node2;
head1 = head1->next;
head2 = head2->next;
}
node1 = node1->next;
}
if(y > 0){
ListNode* node2 = new ListNode(y);
node1->next = node2;
}
return head->next;
}
};
最后是反问环节
上面编完就大概进行了一个小时,面试官说时间不早了,你问我几个问题吧,我问 您对我今天表现的评价,对我关于建议、面试有什么建议没有。面试官说评价不方便说,表现挺好的(好人卡,hhh),没有什么建议。然后我就问面试官什么部分,地点在哪,微软生活是不是很好(拉家常),面试官就介绍了一下自己的部门,然后blabla,结束了。。。

查看14道真题和解析
