本试题是软件开发C/C++方向、软件后台开发、WEB前端开发方向等共用的一套题目。主要分两大块:100分的必做题和分方向的N道附加题。下面主要说说必做题部分。
必做题分为两部分:不定项选择20道(共60分),程序填充题2道(共40分)。
不定项选择题主要涉及数据结构、组成原理、操作系统及数据库等知识。如:
判断哪些属于非稳定性排序;
删除双向链表中的一个节点;
据情况判断使用哪种存储方式最好(可选项有:数组、链表、B+树、哈希表);
一个3阶B-树有50个不同的键,其最小和最大高度值是多少;
已知中序遍历序列和后续遍历序列,给出其先序遍历序列;
高度为11的堆(只有一个节点时高度为0)的最大节点数和最小节点数各是多少;
有关算法和数据结构的说法;
关于cache的一些说法;
硬件性能有关的因素;
raid技术哪个没有做到冗余(可选项:raid0,raid1;raid3;raid5);
静态存储区、堆、栈、代码区这四个在内存中地址由低到高的顺序是什么;
进程和线程的区别;
有关mysql的索引相关说法正确的是;(myisam和innodb的索引结构都是基于B+树??对否)
开放核心代码的好处;
文件传输中能保证文件完整性的校验算法是?(可选项:MD5;CRC32;SHA;奇偶)
两道程序填充题:
1. 输入数N,包含1,2,3,4,如何变换顺序之后使之变成7的倍数;(大概是这个意思,记不太清了。。。)
2.往一个整型二叉平衡树中插入一个数
转帖:
不定项选择
开放核心源码的优点(当时莫名地想笑)
“带宽”概念相关:ADSL的2M=理论下载速度2Mbps? 内存带宽=??
哪些排序是不稳定的
双向链表的删除操作
32位CPU vs 64位CPU:分别求内存空间大小? 32位的OS/App能否跑在64位上?
“Cache”概念相关:CPU的Cache应大于CPU之外的? 命中率跟算法的时间复杂度有关?
TCP状态转换-A、B已ESTABLISHED后,当A发送FIN,B在CLOSED前还要经历:
有200w条记录在内存中,key长12bit且两两相异,求适合频繁查找、插入、删除的DS:array? AVL? B+? hash链表?
3阶B-树有50个元素,求最大、最小高度
已知中序、后序遍历求前序列
哪些校验算法是可靠的: MD5? SHA? CRC32? 奇偶校验?
“数据结构”及“算法”概念相关
相对UDP,TCP的优点
内存中code、static data、heap、stack的相对位置
“硬件性能”概念相关:内存带宽=? 7200RPM的硬盘的平均IOPS? CPU的L1缓存速率远小于核心?
MySQL相关:MyISAM与InnoDB都用B+实现? 唯一性索引可保证数据的唯一性?
高度11的堆(高度从0开始算)的最大、最小元素数?
快排第一趟后的结果
那些冗余阵列不具有容错性:RAID0? RAID02?
“线程”“进程”概念相关: 同一进程的线程可并发抢占资源? 多核CPU中同一进程的线程只能共享一个核?
程序填空
数字题,其实是考阅读理解= =
平衡二叉树的插入算法——题目有误,压根写不下旋转操作还平衡个毛线啊,直接当二叉树做了。
附加题
做到这里后终于体会到……PHP方向跟C/JAVA方向也差太多了,以后要慎选哪这个囧。
for C/C++
有G*N个存储单元,用户数据长度为size,试设计一个负载均衡系统,要求对下列两种情况分别说明:
N个单元的剩余空闲相同
各单元剩余空闲相差很大
for Java
写个IPC(跨进程通信)的样例。设进程间只能访一个成员public static byteArray[] buffer,现给定A、B,要求将A进程的某个对象传给B输出。
简单说就是从QQ聊天记录中找出“联系最密切”(限定记录数>总数一半)的人,并分析时间复杂度。
for PHP
给定一个字符串,随机获取其中一个字符。用两种以上方法。(我真想不到第二种了……)
试实现函数重载机制。
for JavaScritp
有n*m的表格,每个单元格为随机数字。将其中质数格背景设为红色。
for Flash
解释MVC概念
解释A*概念