SIG grad tech面试的分享
面试流程:
面试内容
总结:
在参加完women’s discory day之后,收到了SIG tech面的邀请(也就是继oa,phone interview,event day后,倒数第二轮的面试),在预约好时间之后,便迎来了痛苦tech面。
面试流程:
提前十五分钟进面试链接。这是因为他们会需要你提前读题,有解题思路,一定要仔细看邮件,不要掐点进去了,那就是妥妥浪费自己机会和时间[doge]
俩面试官会分别自我介绍,讲自己所在团队,和负责内容。在他们说的时候最好仔细听,可以将感兴趣或疑问的点记下,在最后提问环节就可以提出紧密相关的问题以表示对他们团队和公司的兴趣。
之后便是自我介绍,讲下学校背景,擅长的编程语言合作过的项目,最好挑重点的说保持精简,因为面试官们需要把控编程和技术提问的时间,如果想展示擅长的技术,最好将时间留给后面提问互动。
ice break结束,考官会问“有没有把题目看了”,有的话便会让你讲下解题思路,其中会包括你要用什么数据结构,整体的逻辑处理。他们也会给些建议,比方提醒你考虑数据结构的时间和空间复杂度(只是提醒,肯定不会明确说)。同时,他们会很人性地 ...
排序算法
Quick Sort快排 (nLogn)主要思想为:
确定分界点
取左边界
取中间值
取右边界
或随机
划分区间 (最重要,最难的部分,有很多种实现方法)
让一个区间都 <=x
让另一个区间都 >=x
递归
递归地给左右或那俩区间排序
拼接
将排好序的左右俩边合并一起
12345678910111213141516171819202122232425262728293031323334353637383940414243#include <iostream>using namespace std;const int N = 1e6 + 10;int n;int q[N];void quick_sort(int q[], int l , int r){ if (l >= r) return; int x = q[l + r >> 1], i = l - 1, j = r + 1; // define x, 俩指针 while (i < j) { do ...
