好文档 - 专业文书写作范文服务资料分享网站

史上最全的iOS面试题及答案

天下 分享 时间: 加入收藏 我要投稿 点赞

接期

间报错

3、全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么? 答:可以,在不同的C文件中以static形式来声明同名全局变量。

可以在不同的C文件中声明同名的全局变量,前提是其中只能有一个C文件中对此变量赋

初值,此时连接不会出错

4、语句for( ;1 ;)有什么问题?它是什么意思? 答:和while(1)相同。

5、do……while和while……do有什么区别? 答:前一个循环一遍再判断,后一个判断以后再循环

661.IP Phone的原理是什么? IPV6

2.TCP/IP通信建立的过程怎样,端口有什么作用? 三次握手,确定是哪个应用程序使用该协议

3.1号信令和7号信令有什么区别,我国某前广泛使用的是那一种? 4.列举5种以上的电话新业务? 微软亚洲技术中心的面试题!!! 1.进程和线程的差别。

线程是指进程内的一个执行单元,也是进程内的可调度实体. 与进程的区别:

(1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位 (2)并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行 (3)拥有资源:进程是拥有资源的一个独立单位,线程不拥有系统资源,但可以访问隶属

于进程的资源.

(4)系统开销:在创建或撤消进程时,由于系统都要为之分配和回收资源,导致系统的开

销明显大于创建或撤消线程时的开销。 2.测试方法

人工测试:个人复查、抽查和会审 机器测试:黑盒测试和白盒测试

2.Heap与stack的差别。 Heap是堆,stack是栈。

Stack的空间由操作系统自动分配/释放,Heap上的空间手动分配/释放。 Stack空间有限,Heap是很大的自由存储区

C中的malloc函数分配的内存空间即在堆上,C++中对应的是new操作符。 程序在编译期对变量和函数分配内存都在栈上进行,且程序运行过程中函数调用时参数的

传递也在栈上进行

3.Windows下的内存是如何管理的? 4.介绍.Net和.Net的安全性。

5.客户端如何访问.Net组件实现Web Service? 6.C/C++编译器中虚表是如何完成的?

7.谈谈COM的线程模型。然后讨论进程内/外组件的差别。 8.谈谈IA32下的分页机制

小页(4K)两级分页模式,大页(4M)一级

9.给两个变量,如何找出一个带环单链表中是什么地方出现环的? 一个递增一,一个递增二,他们指向同一个接点时就是环出现的地方 10.在IA32中一共有多少种办法从用户态跳到内核态?

通过调用门,从ring3到ring0,中断从ring3到ring0,进入vm86等等

11.如果只想让程序有一个实例运行,不能运行两个。像winamp一样,只能开一个窗

口,怎样实现?

用内存映射或全局原子(互斥变量)、查找窗口句柄.. FindWindow,互斥,写标志到文件或注册表,共享内存。

67如何截取键盘的响应,让所有的?a‘变成?b‘? 键盘钩子SetWindowsHookEx

13.Apartment在COM中有什么用?为什么要引入? 14.存储过程是什么?有什么用?有什么优点?

我的理解就是一堆sql的集合,可以建立非常复杂的查询,编译运行,所以运行一次后,

以后再运行速度比单独执行SQL快很多 15.Template有什么特点?什么时候用?

16.谈谈Windows DNA结构的特点和优点。

网络编程中设计并发服务器,使用多进程与多线程,请问有什么区别?

1,进程:子进程是父进程的复制品。子进程获得父进程数据空间、堆和栈的复制品。

2,线程:相对与进程而言,线程是一个更加接近与执行体的概念,它可以与同进程的其

他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列。 两者都可以提高程序的并发度,提高程序运行效率和响应时间。

线程和进程在使用上各有优缺点:线程执行开销小,但不利于资源管理和保护;而进程

正相反。同时,线程适合于在SMP机器上运行,而进程则可以跨机器迁移。 思科

682.找错题

试题1:

void test1() {

char string[10];

char* str1 = \ strcpy( string, str1 ); }

试题2:

void test2() {

char string[10], str1[10]; int i;

for(i=0; i<10; i++) {

str1 = 'a'; }

strcpy( string, str1 ); }

试题3:

void test3(char* str1) {

char string[10]; if( strlen( str1 ) <= 10 ) {

strcpy( string, str1 ); } }

解答:

试题1字符串str1需要11个字节才能存放下(包括末尾的‘\\0‘),而string只有10个字节的空间,strcpy会导致数组越界;

对试题2,如果面试者指出字符数组str1不能在数组内结束可以给3分;如果面试者指出strcpy(string, str1)调用使得从str1[url=]内存[/url]起复制到string内存起所复制的字节数具有不确定性可以给7分,在此基础上指出库函数strcpy工作方式的给10分;

对试题3,if(strlen(str1) <= 10)应改为if(strlen(str1) < 10),因为strlen的结果未统计‘\\0‘所占用的1个字节。

剖析:

考查对基本功的掌握:

(1)字符串以‘\\0‘结尾;

(2)对数组越界把握的敏感度;

(3)库函数strcpy的工作方式,如果编写一个标准strcpy函数的总分值为10,下面给出几个不同得分的答案: 2分

void strcpy( char *strDest, char *strSrc ) {

while( (*strDest++ = * strSrc++) != ?\\0‘ ); } 4分

void strcpy( char *strDest, const char *strSrc ) //将源字符串加const,表明其为输入参数,加2分 {

while( (*strDest++ = * strSrc++) != ?\\0‘ ); } 7分

void strcpy(char *strDest, const char *strSrc) {

//对源地址和目的地址加非0断言,加3分 assert( (strDest != NULL) && (strSrc != NULL) ); while( (*strDest++ = * strSrc++) != ?\\0‘ ); }

10分

//为了实现链式操作,将目的地址返回,加3分!

char * strcpy( char *strDest, const char *strSrc ) {

assert( (strDest != NULL) && (strSrc != NULL) ); char *address = strDest;

史上最全的iOS面试题及答案

接期间报错3、全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么?答:可以,在不同的C文件中以static形式来声明同名全局变量。可以在不同的C文件中声明同名的全局变量,前提是其中只能有一个C文件中对此变量赋
推荐度:
点击下载文档文档为doc格式
1tder3ic6l1od1e2lz2h
领取福利

微信扫码领取福利

微信扫码分享