赞
踩
因为夏令营前很多博客帮到了我,所以也在此把我的经历记录下来,希望能有所帮助。
10分钟左右面试,1分钟英文自我介绍+9分钟专业知识问答。六七个老师拿着你的资料边看边问你问题:
英语介绍感觉只是听听流畅度,专业知识问了数据库、计组、概率论、数据结构、个别高分课程、简历上写的机器学习(所以不熟或者以前熟但现在忘了的东西还是不要写了)。面试分两组同时进行,结束后和另一组同学讨论,他被问了处理机有几种调度算法、介绍一种好的排序算法、p值法等一共四个问题。约60入营、16优营。面试宽容度还是很高的,我机器学习都没答上来,p值法也不会,没想到还过了。面试的时候感觉是哪个老师想问就问,没有固定的顺序,问我机器学习的老师还很温和地引导我,所以答不上来也不要紧,被问得多有可能是因为老师对你比较有兴趣。
20分钟面试,自我介绍后四个老师一人问一块专业知识,最后问些别的以及英语,没有问项目。
总体比较简单,个别问题不会也没关系。我是上午最后一个,面我的时候已经十二点半了,刚进去能感觉到老师们都乏了,但后面逐渐精神起来,可能因为我答得挺好嘿嘿。
中文自我介绍,英语问答(为什么读研,在武大学到的最重要的东西),心理健康(谈谈团队精神、遇到分歧如何解决),杂(会的语言,想做的方向及原因),项目(有没去学习相关知识,模型原理,用神经网络比不用有什么好处,对模型有无自己的改进)。不同组差别挺大, 有的组问了编译原理、计组等专业知识。
入营500,机试留300,面试录160。机试100分,面试200分,最后按总成绩从高到低给优营,今年最高297.7,最低237。
机试两小时两题,中文题目,60分+40分,c或c++都可以。如果机试分数低,即便进了面试,最后优营的希望也很小,所以想去北航的同学还是要好好刷题,争取机试拿高分。因为往年说是和csp第三题字符串模拟比较像,于是我考前主要在刷csp,然而并没有用。。所以不要只刷一个类型的题,各种题型、平台都刷刷。线上机试要比线下方便,双机位,不限IDE、系统环境。
第一题是PAT A1064 Complete Binary Search Tree原题,也就是完全二叉树+二叉搜索树。有几个点要知道,比如完全二叉树静态存储在数组里的顺序就是层序遍历序列,二叉搜索树的中序遍历序列是有序的。输入的序列什么都不是,升序排序得到中序遍历序列,中序遍历二叉树的同时把序列放上去就得到了。考的时候没想起来完全二叉树的性质,一直以为只有中序序列确定不了一棵树,考完才知道是PAT原题,第一次不会的题果然需要刷第二次,不然之后遇到还是不会。。
第二题完整题目如下。我只过了第一个样例,第二个样例的扇入系数和调用次数没调对。
- 【问题描述】
- 给定某能正常运行结束的程序动态运行时用户函数调用栈信息(当一个函数被调用时将入栈,当调用返回时,将出栈)。编写程序,对函数调用栈信息进行分析,依据函数入栈和出栈信息,找出调用层次最深的函数(最深层次数大于1),并计算其调用路径、扇入数(调用该函数的函数个数)及实际函数运行时实际被调用次数;当存在多个调用层次相同的函数时,请按执行顺序输出;若某函数存在多条相同最深调用路径,则只输出执行顺序最早的调用路径信息。假设程序中不存在递归调用;函数名符合C语言标识符的规定,函数名中字符个数不超过20。
- 【输入形式】
- 假设用1时表示入栈操作;用0时表示出栈。当操作为1(入栈)时,输入形式为:
- <操作> <函数名>
- 当操作为0(出栈)时,输入形式为:
- <操作>
- 所有入栈操作和出栈操作都是从标准输入分行输入,调用栈中操作个数不超过200,出现的函数个数不超过100。
- 【输出形式】
- 按照调用顺序将调用层次最深的函数信息分行输出到标准输出,每行的信息包括:函数名、调用路径、扇入数和实际被调用次数,各信息间以一个空格分隔;调用路径用调用的函数名和英文减号“-”连接而成,第一个函数名前和最后一个函数名后没有英文减号。
- 【样例1输入】
- 1 main
- 1 input
- 0
- 1 area
- 0
- 1 findA
- 1 area
- 0
- 0
- 1 findB
- 1 get
- 0
- 0
- 0
- 【样例1输出】
- area main-findA-area 2 2
- get main-findB-get 1 1
- 【样例1说明】
- 输入了14个栈操作:开始main函数入栈;main函数调用的input函数入栈,然后input返回并出栈;接下来main函数调用area函数并返回;随后main函数调用findA函数,findA函数调用area函数,这时存在3层函数调用(包括main函数);然后area函数返回,接着main函数调用findB函数,findB函数调用get函数这时也是存在3层函数调用;最后get、findB和main函数依次返回并出栈。14个栈操作完毕,栈为空,这时调用函数最深的层次数为3,按照操作的顺序分别输出这些函数的信息。其中area被两个不同的函数分别调用一次,所以其扇入数为2,调用次数为2。
- 【样例2输入】
- 1 main
- 1 input
- 0
- 1 mysqrt
- 0
- 1 findA
- 0
- 1 findB
- 1 area
- 1 mysin
- 0
- 1 mycos
- 0
- 1 mysqrt
- 0
- 0
- 0
- 1 findC
- 1 area
- 1 mysin
- 0
- 0
- 1 mysqrt
- 1 max
- 0
- 0
- 0
- 1 output
- 0
- 0
- 【样例2输出】
- mysin main-findB-area-mysin 1 2
- mycos main-findB-area-mycos 1 1
- mysqrt main-findB-area-mysqrt 3 3
- mysin main-findC-area-mysin 1 2
- max main-findC-mysqrt-max 1 1
- 【样例2说明】
- 输入了30个栈操作,开始main函数入栈;main函数调用的input函数入栈,然后scanf返回并出栈;接下来main函数分别调用input和findA函数并返回;随后main函数调用findB函数,findB函数调用area函数,area函数调用mysin函数,这时存在4层函数调用(包括main函数);然后mysin函数返回,接着area调用mycos函数,这时也是存在4层函数调用;后面的操作依次类推。三十个栈操作完毕,栈为空,这时调用函数最深的层次数为4,按照操作的顺序分别输出这些函数的信息。其中mysin函数共被调用2次,但都是被同一函数调用的,所以其扇入数为1,而且其两次调用都是最深层次调用;mysqrt函数共被调用3次,而且是被不同函数调用,所以其扇入数为3。
- 【评分标准】
- 该题要求对函数调用栈信息进行分析,提交程序名为stack.c或stack.cpp。
面试五个老师分别问一块,英语(自我介绍+名词解释)+政治(抽一个问题讲看法)+数学(主要是概率论、离散数学、高数,我被问到集合,完备集,独立与互斥的区别及性质,大数定律)+专业知识(算法+网络+操作系统,我被问到图论中哪些算法用了动态规划,最小生成树求法,如何优化kruskal算法,并查集如何提高查找效率,两个n阶矩阵相乘的时间复杂度,腾讯会议用的传输层协议,异步socket与同步socket的区别,线程与进程,写过多线程吗)+科研/项目(介绍,用到模型的输入输出,遇到过什么难点),最后还让你自我推荐一下。。
想清楚些再回答,多线程很久以前写过一点也可以说写过,总比没写过好。。不同组差别挺大,比如有个同学项目少直接被嫌弃你这项目不行啊,另一个同学没项目老师还帮忙解围。会有一点运气成分,但总体还是比较硬核的,至少同组被录取的一个同学专业和项目两块都答得比我好,所以挂了也是服气的。感觉北航不太看本科学校,今年武大11个过了机试,最后只给了4个优营。
知乎上对这个项目评价较差,但有人说可以自己去外面实习两年,觉得可能还不错就报了,其实也是因为清深ai和计算机都没入营才参加这个。官方给定小组名单,约两天半合作完成一个项目。每组要定一个组长,自定题目。我在的组里有管工、美工、新闻以及两个计算机共五个同学,项目创意最重要,不需要写代码,定下来之后就是各种包装。小组展示之后获得面试资格的同学会收到通知。open fiesta挺看重领导力的,我在的组只有组长进面试了。但实际合作过程中明显感觉到另两个同学比组长优秀不少,所以如果真想去的话就争取当组长多一点机会吧。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。