注册

iOS 面试题 八股文 1.2


12 怎样防止指针的越界使用问题? 

  必须让指针指向一个有效的内存地址, 

1 防止数组越界 

2 防止向一块内存中拷贝过多的内容 

3 防止使用空指针 

4 防止改变const修改的指针 

5 防止改变指向静态存储区的内容 

6 防止两次释放一个指针 

7 防止使用野指针. 

 

 

13 指针的类型转换? 

指针转换通常是指针类型和void * 类型之前进行强制转换,从而与期望或返回void指针的函数进行正确的交接. 

63static有什么用途?(请至少说明两种)
            1.限制变量的作用域
            2.设置变量的存储域
            7. 引用与指针有什么区别?
            1) 引用必须被初始化,指针不必。
            2) 引用初始化以后不能被改变,指针可以改变所指的对象。
            2) 不存在指向空值的引用,但是存在指向空值的指针。
            8. 描述实时系统的基本特性
            在特定时间内完成特定的任务,实时性与可靠性

64全局变量和局部变量在内存中是否有区别?如果有,是什么区别?
            全局变量储存在静态数据库,局部变量在堆栈
            10. 什么是平衡二叉树
            左右子树都是平衡二叉树且左右子树的深度差值的绝对值不大于1

65堆栈溢出一般是由什么原因导致的?
            没有回收垃圾资源
            12. 什么函数不能声明为虚函数?
            constructor
            13. 冒泡排序算法的时间复杂度是什么?
            O(n^2)
            14. 写出float x 与“零值”比较的if语句。
            if(x>0.000001&&x<-0.000001)
            16. Internet采用哪种网络协议?该协议的主要层次结构?
            tcp/ip 应用层/传输层/网络层/数据链路层/物理层
            17. Internet物理地址和IP地址转换采用什么协议?
            ARP (Address Resolution Protocol)(地址解析協議)
            18.IP地址的编码分为哪俩部分?
            IP地址由两部分组成,网络号和主机号。不过是要和“子网掩码”按位与上之后才能区
            分哪些是网络位哪些是主机位。
            2.用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出。写
            出C程序。
            循环链表,用取余操作做
            3.不能做switch()的参数类型是:
            switch的参数不能为实型。
            華為
            1、局部变量能否和全局变量重名?
            答:能,局部会屏蔽全局。要用全局变量,需要使用"::"
            局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而
            不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变
            量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那
            个循环体内
            2、如何引用一个已经定义过的全局变量?
            答:extern
            可以用引用头文件的方式,也可以用extern关键字,如果用引用头文件方式来引用某个
            在头文件中声明的全局变理,假定你将那个变写错了,那么在编译期间会报错,如果你
            用extern方式引用时,假定你犯了同样的错误,那么在编译期间不会报错,而在连接期
            间报错
            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机器上运行,而进程则可以跨机器迁移。
            思科

0 个评论

要回复文章请先登录注册