1. 媒体网关到MSS协议是什么?BICC,BssAp,H.248,ALCAP四选一(H.248)
2. MSS到另一个MSS是什么协议?BICC,BssAp,H.248,ALCAP四选一(BICC)
3. WCDMA切换模式?SOFT,SOFTER,Hard,baton四选一(这一题我选错了,WCDMA常态切换是SOFT,前三种切换都可能存在,BATON是TD-SCDMA的切换模式。)
4. 一共几种WCDMA AMR 语音Code模式,8,7,6,5(8)
5. UE有几种状态,多选CELL_PCH,CELL_FACH,CELL_DCH,URA_PCH多选,(全选)
6. C语言指针题, int a[10]=[1,2,3,4,5,6,7,8,9,10],*p=a, 请问取出9的表达式是什么?选择题,选项不记得了.(*(p+8))
7. C语言循环题,题目不记得了,差不多是下面这样.
i=0, s=0, j=10, k=2
for(;;)
{
i+=k;
if (i>j)
{print(s);break;
}
}
s+=i
}
最后要求写出输出,选项有20,30,42等.(这题我做错了,s最后一轮没有加就输出了,并且break了,这点应该注意.)
8.关于测试的几个问题
a.测试的流程描述(无非就是设计的测试,编程的测试,单元测试,集成测试,系统测试,验收测试等)
b.自动化测试应用的area(功能测试中主要是回归测试,输入输出复杂的测试,重复性高的测试;性能测试中模拟用户的压力,常模拟出人工无法达到的压力,同时操作的压力等)
c. 功能测试与系统测试的关系(功能测试是按照产品设计的要求,测试产品是否达到设计时需要的功能,主要应用黑盒测试的方法. 系统测试是按现场要求,模拟真实环境, 验证产品整体是否满足设计要求.)
d. Stability测试的几种方法(压力测试,RAMP UP增量测试,极限测试,稳定性测试,容错性测试,问题排查)
9.画出WCDMA结构图,并描述各部分功能.
这个不知道怎么在这里画.下面都是我自己写的,不一定对,网上这种图和解释多了.
各名词解释如下:
SGSN:服务GPRS支撑节点,仅用于分组交换, PS业务
MSC:移动交换中心,为UE提供电路交换服务,MSC用于电路交换业务,VLR保存漫游用户服务特征副本,以及UE精确位置信息.
RNS:RAN的内部子网,包含一个RAN与NODEB集合.
UTRAN: UMTS陆地无线接入网
UE:用户装置
MGW:媒体网关
lub接口:NODEB与RNC的接口
lur接口:RNC之间的接口
RNC:NODEB控制器
10.简述ATM,并讲一下ATM的优缺点.
ATM即异步传输模式,在电话交换和分组交换都不能适应未来高带宽,多速率,不同QOS业务的发展需求情况下,逐渐推出了各种传输模式,其中最有名的就是ATM,它是面向连接的分组交换技术,基于固定长度信元的异步传输技术
ATM时延小接入速率高,适合突发业务,用于语言图象数据综合传输,缺点是吞吐量略低于其它模式.
11.路由题
PC1/ROUTER1/ROUTE2/PC2处于不同的子网,如何从PC1到达PC2,通过PING的方式.
还有个图,我不知道怎么在这里画出来.总之PC1-ROUTE1-ROUTE2-PC2,这四个都处于不同的网段中.
这题不难,懂一点网络的人都会答,但本人就属于完全不懂的那种,所以乱写的,不好意思,就不现了.
要求是写出每个网元的路由和网关即可.
12.写测试用例
这是一个主备板切换的例子,MGW中有两块SIG板,分别是SIG0和SIG1,现在分别是主板和备板.两种切换方法,一种是出现问题以后,自动由主板切到备板;另一种是手动发送一个SWO的命令强制切换.
测试用例的无非是包括了前提条件,测试步骤,期望结果,他们要求最好写出测试的目的,如果有多个用例的话.
我只写了两个简单的,分自动切,手动切两个CASE.
注意:自动切的时候,能触发自动切的条件应该都测试到.注意几点,主备是否切换成功,切换以后主板是否能正常工作,主备切换的时间是否满足设计要求,切换时业务的中断情况是否满足设计要求.倒回应该是必须要测试的.
根据设备的具体情况,可以增加去备,去主,加备的CASE.
1.(6%) What is the output of the following program?
#include<stdio.h>
int func(int x)
{
int count = 0;
while(x)
{
count++;
x=x&(x-1);
}
return count;
}
main()
{
printf(“%d”,func(9999));
}
A. 8
B. 9
C. 10
D. 11
2.(6%) There is declaration int *p1, *p2, m=5, n; Then which of the following expression is correct?
A. p1=&m; p2=&p1;
B. p1=&m; p2=&n; *p1=*p2;
C. p1=&m;p2=p1;
D. P1=&m; *p2=*p1;
3.(6%) There is a two-dimension array a[3][3]. Which of the following expression cannot represent the address of element a[1][2]?
A. &a[1][2]
B. *(&a[1]+2)
C. *(a=1)+2
D. a[1]+2
4.(6%) What is the output of the following program?
#include<stdio.h>
void fn(int *b)
{
(*b)++;
}
int main()
{
int a=7;
int b=4;
fn(&a);
printf(“%d”,a&&b);
return 0;
}
A. 0
B. 1
C. 4
D. 7
5.(6%) What is the output of the following program?
main()
{
int a[3][3], *p, I;
p=a[0];
for(i=0; i<9; i++)
{
*(p+i) = i+1;
}
printf(“%d”,a[1][2]);
}
A. 2
B. 3
C. 5
D. 6
6(10%) Please write the macro “MIN(A,B)” this macro returns minimum value of the 2 parameters. And plese describe what will be happened if we run the below code:
least=MIN(*p++,b);
7.(20%) Correct mistakes from code
#include<stdlib.h>
int CalculateVectorProduct(const short *A, int size A,const short *B,int size B, int *Res)
{
int I; /* loop counters*/
Res = (int *)malloc(sizeA*size of (int));
/*check that matrice production is possible*/
if (size A!=sizeB)
{
return -1;/*Vector size error*/
}
for(i=0; i<sizeA; i++)
{
*Res=(*A++)*(*B++);
}
}
8. (20%) Please read following code and tell the output
#include <stdio.h>
static char *olds;
size_t function1 (s, accept)
const char *s;
const char *accept;
{
const char *p;
const char *a;
size_t count = 0;
for (p=s; *p!=’/0’; ++p)
{
for (a= accept; *a!=’/0’; ++a)
if (*p==*a)
break;
if (*a==’/0’)
return count;
else
++count;
}
return count;
har *function2(s, accept)
const char *s;
const char *accept;
while(*s !=’/0’)
{
const char *a=accept;
while (*a !=’/0’)
if (*a++ == *s)
return(char *) s;
++s;
}
return NULL;
}
char * function3(s, delim)
char *s;
const char *delim;
{
char *token;
if (s == NULL)
s=olds;
s+= function1 (s, delim);
if (*s ==’/0’)
{
olds = s;
return NULL;
}
return token;
}
int main(int arge, char *argv[])
{
char s[ ]= *-abc-=-def=g*;
char *str1;
str1=function3(s,”-”);
printf{“str1=%s/n”,str1};
str1=function3(NULL,”-=”);
printf{“str1=%s/n”,str1};
str1=function3(NULL,”=”)
printf{“str1=%s/n”,str1};
printf{“s=%s/n”,s};
return 0
}
9. (20%)Given a head pointer pointing to a linked list, please write a function that sort the list in increasing order. You are not allowed to use temporary array or memory copy.
Typedef struct S_Node
{
int data;
struct S_Node *next;
}Node;
Node*sort_link_list_increasing_order(Node *pheader);