到现在差不多也定好了实习。
晚上简单做个总结。可能有些也记不太清楚了。唉我真的很懒很废物。
明天随着其其的新歌重新开始。
本人研二,大学期间拿过区域赛银牌,然后硕士期间发了一篇VLDB。缺项目经验和实习经验。
找的实习是C++研发。
一方面考虑到是自己最右安全感的语言,另一方面想要职业寿命久一些:我的想法是想搞底层、越深入越好。
苏州CMD 软件工程师
微软的面试上主要是看数据结构和算法,面试官会仔细沟通算法的复杂度和详细思路。等沟通通过了再让你开始写。
一二面平行面,进了任意一面可进终面。
给一个数组,找到正好有k个奇数的区间数量。
尺取法。
#includeusing namespace std; const int INF = 0x3f3f3f3f; const int NMAX = 10010; int n, k; int x[NMAX]; int r1[NMAX], r2[NMAX]; int main(){ while(~scanf("%d%d",&n, &k)){ //输入 for(int i=0; i scanf("%d",&x[i]); } //找初始左端点的k个奇数 int cnt=0, r=0; for(r=0; r if(x[r]%2) cnt++; if(cnt==k) break; } //无法找到k个奇数 if(r==n){ printf("无法找到-1n"); continue; } //对每个左端点找正好为k个奇数的最右端点 memset(r1,-1,sizeof(r1)); int l=0; printf("r1:"); while(l r1[l] = r; cout< r++; while(r printf("%d ",rr); tot += rr-r1[l]; if(x[l]%2){ rr++; while(rr // if(r1[i]<0){ // break; // } // int rr=r1[i]+1; // while(rr 二面 给一个map,其中有0有1,0是海岸,1是陆地。
离陆地最远的海洋是多远?
bfs把所有陆地放入其中。#include终面using namespace std; const int INF = 0x3f3f3f3f; const int NMAX = 1010; typedef pair P; int mp[NMAX][NMAX],n,m; int dis[NMAX][NMAX]; int dx[]={-1,0,1,0}; int dy[]={0,1,0,-1}; void solve(){ queue q; for(int i=0; i
for(int j=0; j if(mp[i][j]==1){ q.push(P(i,j)); dis[i][j]=0; } else{ dis[i][j]=INF; } } } while(!q.empty()){ P now = q.front(); q.pop(); for(int i=0; i<4; i++){ int nx = now.first+dx[i]; int ny = now.second+dy[i]; if(nx>=0 && nx =0 && ny dis[now.first][now.second]+1){ dis[nx][ny]=dis[now.first][now.second]+1; q.push(P(nx,ny)); } } } int mxdis=0; for(int i=0; i for(int j=0; j mxdis = max(mxdis, dis[i][j]); } } printf("%dn",mxdis); } int main(){ while(~scanf("%d%d", &n,&m)){ for(int i=0; i for(int j=0; j scanf("%d", &mp[i][j]); } } solve(); } return 0; } 给出一些docker的启动顺序,问启动所有docker至少需要多久。
Intel(有offer,去的
拓扑序。上海flex。
二合一面,一共有快俩小时。
两个面试官轮流问计算机基础问题。包括:
- C++基础基本上问了遍:拷贝构造和赋值分别咋写、const、static、const指针和指针const、虚函数表、静态动态绑定、new delete实质、new一个对象的全过程……
- 计算机网络:三次握手、四次握手、重传、拥塞……
- STL:setmap(红黑树)B树、B+树、vectorlist区别……
- Linux:内存命令、用户态内核态切换、熟悉的命令……
也被问到了很多答不上来的,每一科都会问到知道的最深部分为止吧。
阿里 阿里云(hr面挂 一面
题目用的是leetcode答题系统。
一道是层序遍历二叉树
另一道是流的形式去找中值,用两个堆来实现(一个最大堆、一个最小堆)。算法题:
二面
1.手写最大堆、插入、弹出。
2.dijkstra
3.dp问题?是啥dp我忘了反正不太难吧。随便聊了点有的没的。
hr面
题目是手写stack实现,用的指针方式。
leader说有上海base。hr说并没有上海base。
本地生活 (二面挂 一面
当时一心只想要上海的base。是我动手拒的(sorry(实在是人还没被关够体验感还行。也比较有礼貌。
二面
但是问的知识面有些鸡同鸭讲,我的论文做的复杂度降低。
主要问C++11的特性。
代码:手写智能指针shared_ptr。我被恶心坏了。
昨天加我微信约面试时间的时候,问了一句:你是女生?当时我就有种不太妙的感觉。今天迟到一个多小时。
对着我的简历一条条打压我。
说我竞赛成绩不好、看着没啥优点、总结一下我的优点是我作为一个女生还算聪明。呵呵。
然后出了道very easy的字符串解析,做完就挂我。fine。这个世界上人类就是有各种各样的。
百度(一面挂感觉上海base hc不够的样子,我理解啦)
英特尔问过的没问过的问题所有基础知识都有问。
再加上了数据库方面的问题、建索引的策略……
这次准备的基本上都能答上。题目:
1.大整数(字符串)相加
2.链表删除连续相同值
最后谈谈我的想法吧。
暑期实习其实对后面秋招还蛮重要的。如果在春招直接踏入996的生活,除了转正很难再做别的打算。虽然大部分人都会直接选择实习转正,但我不想。
英特尔我看了所有风评都很不错,那边会有专人一对一,带实习生入门,然后工作时间955不加班。而且也和我接触底层的想法相契合。
留下的话是著名养老院,福利不错。即使不留下,这段实习既能为秋招加点码,也不耽误准备。
(暑假自己还想再考个日语,攒钱攒语言攒业务能力,有机会潤就好了。



