最新深信服笔试面试题
来源:互联网 发布:淘宝红包微信群 编辑:程序博客网 时间:2024/04/27 17:54
今天5月份深信服的笔试面试题,主要是网络编程方面的比较多,不过只记下几题,希望对大家有用。
1、connect方法会阻塞,请问有什么方法可以避免其长时间阻塞?
答:最通常的方法最有效的是加定时器;也可以采用非阻塞模式。
2.网络编程中设计并发服务器,使用多进程 与 多线程 ,请问有什么区别?
答案一:
(1)进程:子进程是父进程的复制品。子进程获得父进程数据空间、堆和栈的复制品。
(2)线程:相对与进程而言,线程是一个更加接近与执行体的概念,它可以与同进程的其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列。
两者都可以提高程序的并发度,提高程序运行效率和响应时间。
线程和进程在使用上各有优缺点:线程执行开销小,但不利于资源管理和保护;而进程正相反。同时,线程适合于在SMP机器上运行,而进程则可以跨机器迁移。
答案二:
根本区别就一点:用多进程每个进程有自己的地址空间(address space),线程则共享地址空间。所有其它区别都是由此而来的:
(1)速度:线程产生的速度快,线程间的通讯快、切换快等,因为他们在同一个地址空间内。
(2)资源利用率:线程的资源利用率比较好也是因为他们在同一个地址空间内。
(3)同步问题:线程使用公共变量/内存时需要使用同步机制还是因为他们在同一个地址空间内。
3.链表和数组有什么区别
数组和链表有以下几点不同:
(1)存储形式:数组是一块连续的空间,声明时就要确定长度。链表是一块可不连续的动态空间,长度可变,每个结点要保存相邻结点指针。
(2)数据查找:数组的线性查找速度快,查找操作直接使用偏移地址。链表需要按顺序检索结点,效率低。
(3)数据插入或删除:链表可以快速插入和删除结点,而数组则可能需要大量数据移动。
(4)越界问题:链表不存在越界问题,数组有越界问题。
说明:在选择数组或链表数据结构时,一定要根据实际需要进行选择。数组便于查询,链表便于插入删除。数组节省空间但是长度固定,链表虽然变长但是占了更多的存储空间。
4.编码实现一个单链表反序
List reverse(List n) {
if
(!n)
//判断链表是否为空,为空即退出。
{
return
n;
}
list cur = n.next;
//保存头结点的下个结点
list pre = n;
//保存头结点
list tmp;
pre.next = null;
//头结点的指针指空,转换后变尾结点
while
( NULL != cur.next )
//循环直到cur.next为空
{
tmp = cur;
//实现如图10.3—图10.5所示
tmp.next = pre;
pre = tmp;
cur = cur.next;
}
return
tmp;
//f返回头指针
}
本文发表自 深信服笔试面试题 http://www.coderdoc.com/interview/101.html
转载请注明出处。
- 最新深信服笔试面试题
- 深信服面试题
- 深信服笔试
- 深信服笔试题目
- 深信服笔试题目
- 深信服笔试题
- 深信服笔试题
- 深信服笔试题
- 深信服笔试题
- 深信服 linux软件开发面试题整理
- 深信服笔试题(转载)
- 深信服的笔试题
- 深信服笔试题1
- 深信服2008校园招聘笔试题
- 深信服的笔试和面试
- 深信服08年笔试题 --转
- 找工作之深信服科技笔试
- 2011深信服校园招聘笔试面试
- Decimal百分数如何保留两位小数
- android 用textview实现文字滚动效果
- db2 锁机制
- JS实现Trim()
- .WSDL 用来描述Web服务和说明
- 最新深信服笔试面试题
- Struts 2 Annotations
- OPTIMIZE TABLE的作用
- Struts 2 Control Tags
- qt+mplayer模式播放器,嵌入式版!完工
- JVM虚拟机内存配置详解
- Flex4.6 上使用 Air3.3 SDK
- 通过SQL Server 2008数据库复制实现数据库同步备份
- Android: FATAL EXCEPTION 处理