- 有一个变量int a=0;两个线程同时进行+1操作,每个线程加100次,不加锁,最后a的值是()?
A.200
B.<=200
C.>=200
D.都有可能
答案:B
解析:最小值100 最大值200
两个线程分别记为线程1和线程2,i++相当于取出i的值,加1,再放回去
第一种极端情况:每次线程一取出i的值后CPU时间切换到线程二,线程二也取出i的值,取到的值和线程一相等,线程二给i加一后放回去,线程一也将i加一后放回去,放回去的值也相等,相当于两个线程都执行一次i++操作,i的值只增加1,这样操作100次i的值为100
第二种极端情况:线程一和线程二间隔操作,即线程一对i++操作完成,把已经加一的数据放回去之后线程二再操作,轮流进行,最后每个线程都对i加了100次,i的值为200
5.HTTPS采用()实现安全网站访问?
A.SSL
B.IPsec
C.PGP
D.SET
答案:A
解析:A,SSL(Secure Sockets Layer 安全套接层),是https采用的加密通道
B,IPSec(InternetProtocolSecurity)用以提供公用和专用网络的端对端加密和验证服务。
C,PGP(Pretty Good Privacy),是一个基于RSA公钥加密体系的邮件加密系统
D,SET是安全电子交易协议,是为了在互联网上进行在线交易时保证信用卡支付的安全而设立的一个开放的规范
6.某主机的IP地址202.117.131.12/20,其子网掩码是()。
A.255.255.248.0
B.255.255.240.0
C.255.255.252.0
D.255.255.255.4
答案:B
解析:202.117.131.12/20代表前20位代表网络号,后12位代表主机号
前20位全1,后12位全零的IP地址为255.255.240.0
7.以下不属于网络安全控制技术的是()。
A.防火墙技术
B.访问控制技术
C.入侵检测技术
D.差错控制技术
答案:D
解析:网络安全是指网络系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者恶意的原因而遭受到破坏、更改、泄露,系统连续可靠正常地运行,网络服务不中断。
A:所谓防火墙指的是一个有软件和硬件设备组合而成、在内部网和外部网之间、专用网与公共网之间的界面上构造的保护屏障。
B:防止对任何资源进行未授权的访问,从而使计算机系统在合法的范围内使用。意指,用户身份及其所归属的某项定义组来限制用户对某些信息项的访问,或限制对某些控制功能的使用的一种技术,如UniNAC网络准入控制系统的原理就是基于此技术之上。访问控制通常用于系统管理员控制用户对服务器、目录、文件等网络资源的访问。
C:入侵检测是指“通过对行为、安全日志或审计数据或其它网络上可以获得的信息进行操作,检测到对系统的闯入或闯入的企图”。入侵检测是检测和响应计算机误用的学科,其作用包括威慑、检测、响应、损失情况评估、攻击预测和起诉支持。
D:差错控制(error control)是在数字通信中利用编码方法对传输中产生的差错进行控制,以提高数字消息传输的准确性。
8.多媒体技术是指以计算机为平台综合处理多种媒体信息,其中“媒体”主要指的是()。
A.文字和图像
B.各种信息的编码
C.音频和视频
D.承载信息的载体
答案:D
解析:多媒体技术指多种媒体相结合的技术,这些媒体包括声音,视频,文字,图像等等
其实这些都是信息的载体,所以多媒体技术也就是多种信息载体的技术
9.一副彩色图像(RGB),分辨率为256*512,每一种颜色用8b表示,则该彩色图像为()bits。
A.256*512*8
B.256*512*3*8
C.256*512*3/8
D.256*512*3
答案:B
解析:分辨率是256*512,代表有256*512个点
每个点是一个RGB,RGB是红绿蓝三原色构成色彩点,每个色彩有8bit,所以每个点有3*8bit
整幅图像有256*513*3*8bits大小
10.计算机通过MIC(话筒接口)收到的信号是()。
A.音频数字信号
B.音频模拟信号
C.量化信号
D.采样信号
答案:B
解析:话筒是将语音信号转化为电信号的装置,语音信号是连续的,转化的电信号也是连续的,因此是模拟信号
模拟的电信号在计算机内经过采样,量化,编码,最终形成音频数字信号
11.在CPU内存之间进行地址转换时,()将地址从虚拟(逻辑)地址空间映射到物理地址空间。
A.TCB
B.MMU
C.CACHE
D.DMA
答案:B
解析:MMU是Memory Management Unit的缩写,中文名是内存管理单元,它是中央处理器(CPU)中用来管理虚拟存储器、物理存储器的控制线路,同时也负责虚拟地址映射为物理地址,以及提供硬件机制的内存访问授权,多用户多进程操作系统。
12.RS-485最少有()根数据信息号。
A.2
B.6
C.8
D.16
答案:A
解析:RS485采用差分信号负逻辑,-2V~-6V表示“0”,+2V~+6V表示“1”。RS485有两线制和四线制两种接线,四线制只能实现点对点的通信方式,现很少采用,现在多采用的是两线制接线方式,这种接线方式为总线式拓扑结构在同一总线上最多可以挂接32个结点。
13.程序开发中编译器的主要作用是()。
A.代码编辑功能
B.检查代码规范性
C.分析代码中问题
D.完成源语言与目标语言的转换
答案:D
解析:A,代码编辑功能是编辑器提供的
B,代码规范检查也是编辑器提供的
C,分析代码问题是调试器提供的
D,编译器主要完成源码向目标代码的转化
14.关于实时操作系统(RTOS)的任务调度器,以下描述中正确的是()。
A.任务之间的公平性是最重要的调度目标
B.大多数RTOS调度算法都是可抢占式(可剥夺式)的
C.RTOS调度器都采用了基于时间片轮转的调度算法
D.RTOS调度算法只是一种静态优先级调度算法
答案:B
解析:实时操作系统的调度算法是抢占式的,因为要保证对事件的实时响应,需要事件响应进程及时获得CPU时间,采用抢占式调度算法可以保证优先级高的进程可以暂停优先级低的进行而自身获取CPU时间
17.C++调用C语言库时,需要加()
答案:extern C
18.sprinf和snprintf函数区别是。
答案:
int sprintf(char* str,const char* format, ...);
int snprintf(char* str, size_t size,const char* format, ...);
问select和epoll的区别。
(1)每次调用select,都需要把fd集合从用户态拷贝到内核态,这个开销在fd很多时会很大
(2)同时每次调用select都需要在内核遍历传递进来的所有fd,这个开销在fd很多时也很大
(3)select支持的文件描述符数量太小了,默认是1024
epoll既然是对select和poll的改进,就应该能避免上述的三个缺点。那epoll都是怎么解决的呢?在此之前,我们先看一下epoll和select和poll的调用接口上的不同,select和poll都只提供了一个函数——select或者poll函数。而epoll提供了三个函数,epoll_create,epoll_ctl和epoll_wait,epoll_create是创建一个epoll句柄;epoll_ctl是注册要监听的事件类型;epoll_wait则是等待事件的产生。
对于第一个缺点,epoll的解决方案在epoll_ctl函数中。每次注册新的事件到epoll句柄中时(在epoll_ctl中指定EPOLL_CTL_ADD),会把所有的fd拷贝进内核,而不是在epoll_wait的时候重复拷贝。epoll保证了每个fd在整个过程中只会拷贝一次。
对于第二个缺点,epoll的解决方案不像select或poll一样每次都把current轮流加入fd对应的设备等待队列中,而只在epoll_ctl时把current挂一遍(这一遍必不可少)并为每个fd指定一个回调函数,当设备就绪,唤醒等待队列上的等待者时,就会调用这个回调函数,而这个回调函数会把就绪的fd加入一个就绪链表)。epoll_wait的工作实际上就是在这个就绪链表中查看有没有就绪的fd(利用schedule_timeout()实现睡一会,判断一会的效果,和select实现中的第7步是类似的)。
对于第三个缺点,epoll没有这个限制,它所支持的FD上限是最大可以打开文件的数目,这个数字一般远大于2048,举个例子,在1GB内存的机器上大约是10万左右,具体数目可以cat /proc/sys/fs/file-max察看,一般来说这个数目和系统内存关系很大。
问进程的内存布局
C++程序的内存布局。
答数据区、代码区、全局区、堆区、栈区。
内存泄露。
1、内存泄漏memory leak :是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄漏似乎不会有大的影响,但内存泄漏堆积后的后果就是内存溢出。
2、内存溢出 out of memory :指程序申请内存时,没有足够的内存供申请者使用,或者说,给了你一块存储int类型数据的存储空间,但是你却存储long类型的数据,那么结果就是内存不够用,此时就会报错OOM,即所谓的内存溢出。
3、二者的关系
- 内存泄漏的堆积最终会导致内存溢出
- 内存溢出就是你要的内存空间超过了系统实际分配给你的空间,此时系统相当于没法满足你的需求,就会报内存溢出的错误。
- 内存泄漏是指你向系统申请分配内存进行使用(new),可是使用完了以后却不归还(delete),结果你申请到的那块内存你自己也不能再访问(也许你把它的地址给弄丢了),而系统也不能再次将它分配给需要的程序。就相当于你租了个带钥匙的柜子,你存完东西之后把柜子锁上之后,把钥匙丢了或者没有将钥匙还回去,那么结果就是这个柜子将无法供给任何人使用,也无法被垃圾回收器回收,因为找不到他的任何信息。
- 内存溢出:一个盘子用尽各种方法只能装4个果子,你装了5个,结果掉倒地上不能吃了。这就是溢出。比方说栈,栈满时再做进栈必定产生空间溢出,叫上溢,栈空时再做退栈也产生空间溢出,称为下溢。就是分配的内存不足以放下数据项序列,称为内存溢出。说白了就是我承受不了那么多,那我就报错,
进程和线程的区别。
(1)进程是资源的分配和调度的一个独立单元,而线程是CPU调度的基本单元
(2)同一个进程中可以包括多个线程,并且线程共享整个进程的资源(寄存器、堆栈、上下文),一个进行至少包括一个线程。
(3)进程的创建调用fork或者vfork,而线程的创建调用pthread_create,进程结束后它拥有的所有线程都将销毁,而线程的结束不会影响同个进程中的其他线程的结束
(4)线程是轻两级的进程,它的创建和销毁所需要的时间比进程小很多,所有操作系统中的执行功能都是创建线程去完成的
(5)线程中执行时一般都要进行同步和互斥,因为他们共享同一进程的所有资源
(6)线程有自己的私有属性TCB,线程id,寄存器、硬件上下文,而进程也有自己的私有属性进程控制块PCB,这些私有属性是不被共享的,用来标示一个进程或一个线程的标志
TCP/UDP的区别和应用场合。
创建两个线程,一个线程打印奇数,一个线程打印偶数。怎么实现?
答定义全局变量i,。
怎么查看linux堆栈信息。
有两种方法:
第一种:pstack 进程ID
第二种,使用gdb 然后attach 进程ID,然后再使用命令 thread apply all bt
第三种:strace -f -p pid 该方法和pstack类似
第四中:gcore pid ,输出core文件,gdb cmd corefile
11、写出下列代码的输出内容
#include<stdio.h>
int inc(int a)
{
return(++a);
}
int multi(int*a,int*b,int*c)
{
return(*c=*a**b);
}
typedef int(FUNC1)(int in);
typedef int(FUNC2) (int*,int*,int*);
void show(FUNC2 fun,int arg1, int*arg2)
{
INCp=&inc;
int temp =p(arg1);
fun(&temp,&arg1, arg2);
printf("%d\n",*arg2);
}
main()
{
int a;
show(multi,10,&a);
return 0;
}
答:110
12、请找出下面代码中的所以错误
说明:以下代码是把一个字符串倒序,如“abcd”倒序后变为“dcba”
1、#include"string.h"
2、main()
3、{
4、 char*src="hello,world";
5、 char* dest=NULL;
6、 int len=strlen(src);
7、 dest=(char*)malloc(len);
8、 char* d=dest;
9、 char* s=src[len];
10、 while(len--!=0)
11、 d++=s--;
12、 printf("%s",dest);
13、 return 0;
14、}
答:
方法1:
int main()
{
char* src = "hello,world";
int len = strlen(src);
char* dest = (char*)malloc(len+1);//要为\0分配一个空间
char* d = dest;
char* s = &src[len-1];//指向最后一个字符
while( len-- != 0 )
*d++=*s--;
*d = 0;//尾部要加\0
printf("%s\n",dest);
free(dest);// 使用完,应当释放空间,以免造成内存汇泄露
return 0;
}
方法2:
#include <stdio.h>
#include <string.h>
main()
{
char str[]="hello,world";
int len=strlen(str);
char t;
for(int i=0; i<len/2; i++)
{
t=str[i];
str[i]=str[len-i-1]; str[len-i-1]=t;
}
printf("%s",str);
return 0;
}
1.-1,2,7,28,,126请问28和126中间那个数是什么?为什么?
第一题的答案应该是4^3-1=63
规律是n^3-1(当n为偶数0,2,4)n^3+1(当n为奇数1,3,5)
答案:63
2.用两个栈实现一个队列的功能?要求给出算法和思路!
设2个栈为A,B, 一开始均为空.
入队:
将新元素push入栈A;
出队:
(1)判断栈B是否为空;
(2)如果不为空,则将栈A中所有元素依次pop出并push到栈B;
(3)将栈B的栈顶元素pop出;
这样实现的队列入队和出队的平摊复杂度都还是O(1), 比上面的几种方法要好。3.在c语言库函数中将一个字符转换成整型的函数是atool()吗,这个函数的原型是什么?
函数名: atol
功 能: 把字符串转换成长整型数
用 法: long atol(const char *nptr);
程序例:
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
long l;
char *str = "98765432";
l = atol(lstr);
printf("string = %s integer = %ld\n", str, l);
return(0);
}
13.对于一个频繁使用的短小函数,在C语言中应用什么实现,在C++中应用什么实现?
c用宏定义,c++用inline
14.直接链接两个信令点的一组链路称作什么?
PPP点到点连接
15.接入网用的是什么接口?
16.voip都用了那些协议?
17.软件测试都有那些种类?
黑盒:针对系统功能的测试
白合:测试函数功能,各函数接口
18.确定模块的功能和模块的接口是在软件设计的那个队段完成的?
概要设计阶段
19.
enum string
{
x1,
x2,
x3=10,
x4,
x5,
}x;
问x= 0x801005,0x8010f4 ;
20.
unsigned char *p1;
unsigned long *p2;
p1=(unsigned char *)0x801000;
p2=(unsigned long *)0x810000;
请问p1+5= ;
p2+5= ;
选择题:
21.Ethternet链接到Internet用到以下那个协议?
A.HDLC;B.ARP;C.UDP;D.TCP;E.ID
22.属于网络层协议的是:
A.TCP;B.IP;C.ICMP;D.X.25
23.Windows消息调度机制是:
A.指令队列;B.指令堆栈;C.消息队列;D.消息堆栈;
24.
unsigned short hash(unsigned short key)
{
return (key>>)%256
}
请问hash(16),hash(256)的值分别是:
A.1.16;B.8.32;C.4.16;D.1.32
找错题:
25.请问下面程序有什么错误?
int a[60][250][1000],i,j,k;
for(k=0;k<=1000;k++)
for(j=0;j<250;j++)
for(i=0;i<60;i++)
a[i][j][k]=0;
把循环语句内外换一下
26.
#define Max_CB 500
void LmiQueryCSmd(Struct MSgCB * pmsg)
{
unsigned char ucCmdNum;
......
for(ucCmdNum=0;ucCmdNum<Max_CB;ucCmdNum++)
{
......;
}
死循环
27.以下是求一个数的平方的程序,请找出错误:
#define SQUARE(a)((a)*(a))
int a=5;
int b;
b=SQUARE(a++);
28.
typedef unsigned char BYTE
int examply_fun(BYTE gt_len; BYTE *gt_code)
{
BYTE *gt_buf;
gt_buf=(BYTE *)MALLOC(Max_GT_Length);
......
if(gt_len>Max_GT_Length)
{
return GT_Length_ERROR;
}
.......
}
问答题:
29.IP Phone的原理是什么?
IPV6
30.TCP/IP通信建立的过程怎样,端口有什么作用?
三次握手,确定是哪个应用程序使用该协议
31.1号信令和7号信令有什么区别,我国某前广泛使用的是那一种?
32.列举5种以上的电话新业务?
一
请简述网络定义,并谈谈自己对网络的理解
二
请描述osi七层模型,并简要概括各层功能
三
请描述tcp/ip模型,并简要介绍各层功能
四
请简要叙述交换机和集线器的区别
五
请说出自己配置过的路由器型号,并说出几个最常用的配置命令
六
请说出几种动态路由协议,并谈谈动态路由和静态路由的区别
七
win2000中为何要引入域的概念
八
复制和剪切操作对文件权限会产生什么影响
九
请介绍几种方式用来在web服务器上创建虚拟主机
十
请简要介绍NNTP服务器中虚拟目录的作用
十一
请介绍几种你所使用过的代理服务器
十二
请提供几种邮件服务器的建设方案
十三
请描述Exchange5.5和Exchange2000的区别
十四
说出你所使用过的数据库产品
十五
你认为SQL2000数据库中最难的部分是什么,为什么?
十六
介绍你所使用过的网管软件,以及它的特点
十七
win2000中的dns服务器新增了哪些功能
十八
dhcp服务器的作用是什么?你可以提供哪些dhcp服务器的建设方案
十九
dns和wins服务器的区别有哪些?
二十
你认为网络工程师最重要的能力是什么?
二十一如果你负责将一个公司的所有计算机接入互联网,你会选择哪种接入方式,为什么
?
二十二
如果你面临的用户对计算机都不熟悉,你将如何开展工作?
二十三
你会选择让哪种操作系统装在公司内的计算机上,为什么?
二十四
常用的备份方式有哪些?
二十五
你用过哪些操作系统,简述一下它们的特点?
二十六
将来在公司建设企业内部网时,你会选择哪种网络?
二十七
你用过哪种型号的路由器?
二十八说说交换机和集线器的区别,你会在企业内部网中选择哪种交换机产品?
二十九
简要介绍你所管理过的网络
三十
谈谈你认为网络中最容易出现的故障有哪些?
1、DWDM
是什么?
2、802.1b
是什么协议?
3、802.1q
是什么协议?
4、ATM的信元有多少字节?
5、cisco路由器如何保存设置?
6、什么是IP OVER SDH IP OVER DWDM?
8、ADSL使用什么网络协议?
9、ATM网与IP网的优缺点?
10、ATM网如何传送IP数据包?
11、172.16.100.5/255.255.255.252
的网络地址和主机号是多少?
12、ping 命令在同一网段中数据包的什么变什么不变?
13、城域网使用的主要有那些技术?如何实现QOS保证?
14、MPLS VPN 与 传统VPN有何区别?
15、cisco的路由器和交换机有那些型号?
1
H.323协商。(笔试题)
---这个就不说了,12个包协商,先H225然后H245,需要注意的是面试官可能会问到跟SIP
的比较;
2
ipsec为什么是三层的。l2tp为什么是二层的?
---IPSEC用AH和ESP加密IP包;L2TPv2是将2层帧封装在PPP里,而L2TPv3则直接封装FR,E
THERNET等二层帧
3
ospf中包的ttl值是多少?
---1,因为224.0.0.5/224.0.0.6是本地链路组播
4
OSPF为什么要划分区域?
---减少CPU负载,区域间使用距离矢量算法,因此其它区域的泛洪不会影响区域的SPF运算
,这里注意面试官可能会问OSPF多区域如何防止环路。(注意答本质而不是现象,免得面试
官追问)
5
MPLS
VPN的标签一共有几层。内网的标签放在哪里。
---如果没有流量工程则是2层,内网标签在隧道标签之后
6
MPLS中RD和RT的作用分别是什么?
---RD用于BGP区分VPN路由,RT用于在各VRF中导入或导出路由
7
RR防止环路的机制。
---RR中通过ORIGIN ID和CLUSTER ID防止环路,若RR收到带有自己CLUSTER ID的路由则丢
弃
8
BGP控制out-bound用local-pre,控制进来的用med.(笔试题)
---正确
9
ospf是工作在哪个协议上的?
---IP,OSPF协议号89
10
ospf的LSA类型。
---1,2,3,4,5,6,7,没有什么好说的,注意考官问到第6类LSA,组播再准备多点
11
简述OSPF的基本工作机制。
---这个没什么可以说了,把知道的都说出来就行了
12
ppp的lcp和ncp协商过程。
---LCP过程协商二层链路相关参数,MTU/PPP压缩/认证协议类型等~~~NCP协商第三层协议
,IP地址,IP压缩等等,这里记住最好不要说CDP
13
笔试中还有一道PSTN的信令控制有哪三种?(笔试题)
---这个我只知道随路信令和共路信令,信工同学提供的答案是:监视\号码\音信号\,知
道正确答案的朋友麻烦纠正一下,THX
14
sloari8.0查看进程的命令是什么?linux7.3查看IP的命令是什么?(笔试题)
---不知道华为为什么问这个,第一个是PS吧?第二个是IFCONFIG
/A
15
IP是5.32.0.0,掩码255.224.0.0。请问最大的有效地址是多少。(笔试题)
---最大主机地址5。64。255。254
17
lx/lh的有效距离是多少?
---???
18
IP
包头几个字节?加上数据部分几个字节
---应该是问IPV4,一般20字节,加上源路由选择等后最大60字节,加上数据部分还是根据
链路MTU决定
20
CQ能不能有一种流量dominate第二种流量?
(笔试题)
---CQ不能有一种流量DOMINATE其它任何流量
21
FTP下载一个文件完成。有几个TCP连接??(笔试题)
---2个
1.
现在的6509及7609,SUP720交换带宽去到720G,是不是可以说7609/6509可以取代一部分G
SR的地位?
2.
isis level1 的路由表包括哪此路由?有多个level-1-2出口时,其它路由它从哪里学到,
如何选路?
3.
MPLS L3 VPN,如果我想让两个不同的VPN作单向互访,怎做?
4.
跨域的MPLS L3 VPN可以谈谈思路吗?
5.
MPLS L3 VPN的一个用户,他有上internet的需求,如何实现?有几种实现方法?特点各是
什么?
6.
MPLS L3 VPN,如果我想让两个不同的VPN作单向互访,怎做?
7.
L3
VPN与L2 VPN各自的特点是怎样?你觉得哪一种模式运营起来比较有前景?
8.
ISIS与OSPF的区别谈一谈吧,各个方面。
9.
一个骨干网或城域网选ISIS及OSPF基于什么理由?
10.
BGP选路原则常用是哪些?在骨干网与城域网间如何搭配一块使用?
11.
如果BGP加上max path,会在哪个BGP选路属性之前应用这个选项?
12.
为什么骨干网pop及城域网出口要作next-hop-self?
13.
两个AS之间,有四台路由器口字型互联,其中一台路由器上从EBGP学到一个网络,又从IB
GP学到同一个网络,选路哪个?是哪个属性影响 ?如果我在IBGP过来那个加上MED小于从
EBGP过来的,又选哪个?为什么?
14.
local-pre与weight的区别是什么?
15.
BGP能不能实现负载均衡?如果可以,有哪些方法?
16.
多个AS之间,可不可以比较MED?如可以,需要前提条件吗?如有,前提条件是什么?
17.
MED能不能和AS内的IGP度量值结合起来?如可以,如何做?
18.
割接限定回退的时间还有十分钟,割接还未成功,局方已经催你回退了,但你觉得这些问
题你再努力5分钟可能会解决,你的选择是什么
?
19.
骨干网的QoS,如何部署?你认为什么骨干网什么情况下是有拥塞发生了?
20.
对于工程及维护来说,你觉得l3网络和l2网络哪个比较好?
21.
L3网络与L2网络对环路的处理各是什么样的机制?
22.
一般情况下,L2交换机的生成树有多少数量?
23.
3550的生成树模式是什么?生成树数量是怎样的?
24.
跟据你的经验,GE的端口,当流量达到多少时,你可以认为是有拥塞发生了?2.5G POS口
,当流量达到多少时,你可以认为有拥塞?
此外,中间问了对项目实施上的一些事件的处理方式,问了有没有一些失败的经历及体验
,还有问及工作中碰过最棘手的事件是什么及如何处理等等。当然还有一些互相调戏平和
气氛的对话。