概述
专业面:
两个面试官。
4、数据结构怎么样(还可以),B+树了解吗
6、敏捷开发的一些流程
总的来说还是以项目为主,面试官态度比较温和。
一面:
3、先介绍一下自己的项目是做什么的,代码量,用了哪些语言
4、STL用吗?为什么喜欢用vector?
Vector、map、deque、list、forward_list
5、介绍一下面向对象
向对象有4大基本特征:封装、继承、多态、抽象
6、设计模式了解吗
单例模式、适配器模式、观察者模式
7、进程、线程知道吗
- 同一进程的线程共享本进程的地址空间,而进程之间则是独立的地址空间;
- 同一进程内的线程共享本进程的资源,但是进程之间的资源是独立的;
- 一个进程崩溃后,在保护模式下不会对其他进程产生影响,但是一个线程崩溃整个进程崩溃,所以多进程比多线程健壮;
- 进程切换,消耗的资源大。所以涉及到频繁的切换,使用线程要好于进程;
- 两者均可并发执行;
- 每个独立的进程有一个程序的入口、程序出口。但是线程不能独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。
8、数据结构学过吗?
9、手写链表的插入
尾插法、头插法
10、是只打算做C/C++吗
11、排序算法用过吗?项目里有用到排序算法吗?
选择、直接插入排序、冒泡、快排、归并、堆排
12、有什么问题吗
二面:
先是英语自我介绍
看中中兴哪一点
工作地点只考虑成都吗
- C语言和C++的区别
- 继承,重载,多态。
3. 说一下快速排序原理和复杂度。常用排序算法。
时间复杂度O(nlog2n),空间O(log2n)
4. TCP和UDP的区别
5. 网络七层模型
物理层、数据链路层、网络层、传输层、会话层、表示层、应用层
6.数据库分组语句
Group by
7. 操作系统进程有几种状态
运行态,就绪态,阻塞态
8. 功能测试
9. 设计模式
10. 数据结构 二叉树 最短路径
11. 迪杰斯特拉算法。
图的最短路径:dijkstra
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
const int N = 501;
const int inf = 0x7fffffff;
int edge[501][501], disp[501];
bool vst[501];
int main() {
fill(edge[0], edge[0] + N*N, inf);
fill(disp, disp + N, inf);
fill(vst, vst + N, false);
int n, m, s, d;
cin >> n >> m >> s >> d;
for (int i = 0; i<m; i++) {
int a, b, c;
cin >> a >> b >> c;
edge[a][b] = edge[b][a] = c;
}
disp[s] = 0;
for (int i = 0; i<n; i++) {
int u = -1, min = inf;
for (int j = 0; j<n; j++) {
if (disp[j] < min && vst[j] == false)
{
min = disp[j];
u = j;
}
}
if (u == -1)
break;
vst[u] = true;
for (int v = 0; v<n; v++) {
if(edge[u][v] != inf){//这句一定要保证
if (disp[v] > disp[u] + edge[u][v] && vst[v] == false) {
disp[v] = disp[u] + edge[u][v];
}
}
}
}
printf("%d", disp[d]);
return 0;
}
2、讲一下多态;(面向对象最基本的概念了,面试经常会遇到,必备知识点。)
https://www.cnblogs.com/cxq0017/p/6074247.html
C++的多态性用一句话概括就是:在基类的函数前加上virtual关键字,在派生类中重写该函数,运行时将会根据对象的实际类型来调用相应的函数。如果对象类型是派生类,就调用派生类的函数;如果对象类型是基类,就调用基类的函数
1:用virtual关键字申明的函数叫做虚函数,虚函数肯定是类的成员函数。
2:存在虚函数的类都有一个一维的虚函数表叫做虚表,类的对象有一个指向虚表开始的虚指针。虚表是和类对应的,虚表指针是和对象对应的。
3:多态性是一个接口多种实现,是面向对象的核心,分为类的多态性和函数的多态性。
4:多态用虚函数来实现,结合动态绑定.
5: 纯虚函数是虚函数再加上 = 0;
6:抽象类是指包括至少一个纯虚函数的类。
纯虚函数:virtual void fun()=0;即抽象类!必须在子类实现这个函数,即先有名称,没有内容,在派生类实现内容。
3、析构函数能否是虚函数?(我说,可以,并且对于多继承的情况建议析构函数用虚函数,并解释了下,blablabla)
https://blog.csdn.net/gaojing303504/article/details/81411036
构造函数不能为虚函数,而析构函数可以且常常是虚函数。
可以
4、能否解释下如果析构函数不用虚函数时,可能会出现什么情况?
5、对设计模式了解吗?(楼主结合一个项目中的简单的单例模式说了一下。)
6、看你项目中有用到MFC,了解MFC的消息机制吗?(这个自己答的不是很理想,就把话题引开了,强调了自己项目中更多地涉及到算法部分,对于其消息机制未过多涉及。如果有MFC经验,建议把其消息机制好好复习下。)
7、一道程序代码,说一下它的运行结果。代码如下:(这题就不细说了,牛客上一大把。)
1 2 3 4 |
|
https://www.nowcoder.com/questionTerminal/fc376a0b5a4e4a43856b13f8c55cf86f?pos=5&mutiTagIds=157&orderByHotValue=2
8、接着7题,问到了堆、栈;又问了下全局变量和静态变量存储在哪个区?它们何时初始化。(大家复习到这些知识点即可。)
存储在全局(静态)存储区,初始化的在DATA段,未初始化的在BSS段。程序在运行时未初始化的会变成0,程序结束后由系统释放。
9. 造成内存泄漏的原因
https://blog.csdn.net/qq_18824491/article/details/78902636
最后
以上就是甜美鲜花为你收集整理的中兴校园招聘 他人面经整理的全部内容,希望文章能够帮你解决中兴校园招聘 他人面经整理所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复