下载此文档

趋势科技面试题2013.doc


文档分类:资格/认证考试 | 页数:约4页 举报非法文档有奖
1/4
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/4 下载此文档
文档列表 文档介绍
以下是我参加南京趋势科技公司的面试的时候被问的一些问题,大部分已整理出答案
1:首先上来先写了个小程序,很简单,可是写完了,面试官给我指出一堆问题,用指针没判空,用数组没动态分配内存
题目:// eg "abcdefgh" 循环移位urce[start_pos];
cur_pos = start_pos;
next_pos = (cur_pos + m) % n;

while (next_pos != start_pos)
{
source[cur_pos] = source[next_pos];
++exchange;
cur_pos = next_pos;
next_pos = (cur_pos + m) % n;
}
source[cur_pos] = tmp;
++exchange;
++start_pos;
}
}

2:套接字编程,如果多个client同时连接server
3:存储过程是什么?放哪了?
4:进程和线程的区别,进程间通信
进程间通信主要包括管道, 系统IPC(包括消息队列,信号量,共享存储), 套接字(SOCKET).
现在linux使用的进程间通信方式:
(1)管道(pipe)和有名管道(FIFO)
(2)信号(signal)
(3)消息队列
(4)共享内存
(5)信号量
(6)套接字(socket)
4:操作系统,锁
在多线程编程中,为了保证数据操作的一致性,操作系统引入了锁机制,用于保证临界区代码的安全。通过锁机制,能够保证在多核多线程环境中,在某一个时间点上,只能有一个线程进入临界区代码,从而保证临界区中操作数据的一致性。所谓的锁,说白了就是内存中的一个整型数,拥有两种状态:空闲状态和上锁状态。加锁时,判断锁是否空闲,如果空闲,修改为上锁状态,返回成功;如果已经上锁,则返回失败。解锁时,则把锁状态修改为空闲状态。
在多线程编程中,为了保证数据操作的一致性,操作系统引入了锁机制,用于保证临界区代码的安全。通过锁机制,能够保证在多核多线程环境中,在某一个时间点上,只能有一个线程进入临界区代码,从而保证临界区中操作数据的一致性。
所谓的锁,说白了就是内存中的一个整型数,拥有两种状态:空闲状态和上锁状态。加锁时,判断锁是否空闲,如果空闲,修改为上锁状态,返回成功;如果已经上锁,则返回失败。解锁时,则把锁状态修改为空闲状态。
看起来很简单,大家有没有想过,OS是怎样保证这个锁操作本身的原子性呢?举个例子,在多核环境中,两个核上的代码同时申请一个锁,两个核同时取出锁变量,同时判断说这个锁是空闲状态,然后有同时修改为上锁状态,同时返回成功。。。两个核同时获取到了锁,这种情况可能吗?废话,当然是不可能,可能的话,我们使用锁还有啥意义。但是,咦?等等,虽然我知

趋势科技面试题2013 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数4
  • 收藏数0 收藏
  • 顶次数0
  • 上传人miaoshen1985
  • 文件大小19 KB
  • 时间2022-02-27
最近更新