各大IT、互联网公司笔试面试知识积累

知识点:

1、文件索引结构:http://blog.csdn.net/feike2008/article/details/5623110

    采用索引这种结构,逻辑上连续的文件可以存放在若干不连续的物理块中,但对于每个文件,在存储介质中除存储文件本身外,还要求系统另外建立一张索引表,索引表记录了文件信息所在的逻辑块号和与之对应的物理块号。有的文件很大,文件索引表也就较大。如果索引表的大小超过了一个物理块,可以采用间接索引(多重索引),也就是在索引表所指的物理块中存放的不是文件信息,而是装有这些信息的物理块地址。索引结构既适用于顺序存取,也适用于随机存取,并且访问速度快,文件长度可以动态变化。索引结构的缺点是由于使用了索引表而增加了存储空间的开销。另外,在存取文件时需要至少访问存储器两次以上,其中,一次是访问索引表,另一次是根据索引表提供的物理块号访问文件信息。


2、枚举变量的大小

enum{red, green, blue} color;sizeof(color)=4,枚举变量的取值为花括号内的任意一个值(有且只能有其中一个值),而这个值是int型的,在X86系统中,int型的数据占内存4个字节。所以,枚举变量{}里不管有多少变量都是4字节。


3、有一个虚拟存储系统,若进程在内存中占3页(开始时内存为空),若采用先进先出(FIFO)页面淘汰算法,当执行如下访问页号序列后1,2,3,4,5,1,2,5,1,2,3,4,5,会发生多少缺页?

10次,操作系统的知识(记得大概),缓存3页,进来一页,那么需要剔除一页,如果进来的那页在此时的缓存3个页中能够找到的话,则不发生缺页;如果找不到,就要把最先进入的那页(在缓存中逗留最久的那页)剔除,此时就叫做缺页。例如:刚开始的三页:1 2 3;-->进来4(4不存在缓存页中)-->剔除1(在缓存中逗留最久的那页)-->就变成了2 3 4 -->此时称之为 1次缺页。然后进 5 -->缓存变成 3 4 5(第二次缺页),进1后-->缓存变为 4 5 1(第三次缺页);进2后-->缓存变为5 1 2 (第四次缺页);进5(缓存中有5)--> 缓存变为1 2 5(此次不算缺页);之后以此类推。。。。7次再加上开始的1、2、3均为缺页总共为10次。


4、c语言 数组存储最小堆 删除堆顶元素:(真叫一看就懂啊

http://zhidao.baidu.com/link?url=XrPYLcUmhieHUQrQo3VsVFf9uMWihTEXRDO5tdi_Sa3iyMZxuTWPLgqhROJFnXhp5KfydmG2Gc524ZYyxCisaJ2gcH95XslG_sfogaY7eTK


5、vector、list和deque提供给程序员不同的复杂度,因此应该这么用:vector是一种可以默认使用的序列类型,当很频繁地对序列中部进行插入和删除时应该用list,当大部分插入和删除发生在序列的头或尾时可以选择deque这种数据结构


6、表达式前后缀表达形式真叫一看就懂啊

这里我给出一个中缀表达式~
a+b*c-(d+e)
第一步:按照运算符的优先级对所有的运算单位加括号~
        式子变成拉:((a+(b*c))-(d+e))
第二步:转换前缀与后缀表达式
        前缀:把运算符号移动到对应的括号前面
              则变成拉:-( +(a *(bc)) +(de))
              把括号去掉:-+a*bc+de  前缀式子出现
        后缀:把运算符号移动到对应的括号后面
              则变成拉:((a(bc)* )+ (de)+ )-
              把括号去掉:abc*+de+-  后缀式子出现
发现没有,前缀式,后缀式是不需要用括号来进行优先级的确定的。

以上转自:http://blog.csdn.net/whatforever/article/details/6738538


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值