不断的学习+不断的经历+不断的思考!! 仅供学习和交流,如果转载,请注明转载来源

技术面试(2)

上一篇 / 下一篇  2009-12-30 11:10:08 / 天气: 冷 / 心情: 高兴 / 个人分类:技术面试

所有答案仅供个人参考,请注意识别。

1.数据库的一张表进行操作,同时要对另一张表进行操作,如何实现??

答案:将操作多个表的操作放入到事务中进行处理


2.TCP/IP
建立连接的过程?(3-wayshake)

答案:在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。

  第一次握手:建立连接时,客户端发送syn(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;
   
第二次握手:服务器收到syn包,必须确认客户的SYNack=j 1),同时自己也发送一个SYN包(syn=k),即SYN ACK包,此时服务器进入SYN_RECV状态;
  第三次握手:客户端收到服务器的SYNACK包,向服务器发送确认包ACK(ack=k 1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。


3.ICMP
是什么协议,处于哪一层?

答案:Internet控制报文协议,处于网络层(IP层)


4.
触发器怎么工作?

答案:触发器主要是通过事件进行触发而被执行的,当对某一表进行诸如UPDATEINSERTDELETE这些操作时,数据库就会自动执行触发器所定义的SQL语句,从而确保对数据的处理必须符合由这些SQL语句所定义的规则。


5.winsock
建立连接的主要实现步骤?

答案:服务器端:socker()建立套接字,绑定(bind)并监听(listen),用accept()等待客户端连接。

客户端:socker()建立套接字,连接(connect)服务器,连接上后使用send()recv(),在套接字上写读数据,直至数据交换完毕,closesocket()关闭套接字。
服务器端:accept()发现有客户端连接,建立一个新的套接字,自身重新开始等待连接。该新产生的套接字使用send()recv()写读数据,直至数据交换完毕,closesocket()关闭套接字。


6.
动态连接库的两种方式?

答案:调用一个DLL中的函数有两种方法:

1
.载入时动态链接(load-timedynamiclinking),模块非常明确调用某个导出函数,使得他们就像本地函数一样。这需要链接时链接那些函数所在DLL的导入库,导入库向系统提供了载入DLL时所需的信息及DLL函数定位。
2
.运行时动态链接(run-timedynamiclinking),运行时可以通过LoadLibraryLoadLibraryEx函数载入DLLDLL载入后,模块可以通过调用GetProcAddress获取DLL函数的出口地址,然后就可以通过返回的函数指针调用DLL函数了。如此即可避免导入库文件了。


7.IP
组播有那些好处?

答案:Internet上产生的许多新的应用,特别是高带宽的多媒体应用,带来了带宽的急剧消耗和网络拥挤问题。组播是一种允许一个或多个发送者(组播源)发送单一的数据包到多个接收者(一次的,同时的)的网络技术。组播可以大大的节省网络带宽,因为无论有多少个目标地址,在整个网络的任何一条链路上只传送单一的数据包。所以说组播技术的核心就是针对如何节约网络资源的前提下保证服务质量。


TAG:

 

评分:0

我来说两句

日历

« 2024-04-21  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 160936
  • 日志数: 55
  • 书签数: 19
  • 建立时间: 2009-11-04
  • 更新时间: 2011-01-29

RSS订阅

Open Toolbar