美文网首页
2015.03.14 网易CC笔试总结(TTT计划)

2015.03.14 网易CC笔试总结(TTT计划)

作者: 度京 | 来源:发表于2015-03-14 23:19 被阅读199次

    不难,但覆盖面广,目测已跪,总结经验教训以后争取不犯这样的错误,也希望能帮助各位师弟师妹。(不全,而且本人不是计算机专业,此文是按照个人水平总结,请对照他人版本阅读)

    1、《c++ Primer》、《Head First设计模式》、《Effective C++》、《windows 核心编程(第5版)》哪本书最薄

    答:《Effective C++》

    评:好蛋疼的题!我是根据名称选的,如果不写的短一点怎么好意思叫effective嘛,哈哈

    2、系统出现死锁的原因是()

    答:若干进程因竞争资源而无休止地循环等待着,而且都不释放已占有的资源

    评:答案参看http://zhidao.baidu.com/link?url=SoAzqDyTW0YJoiSyyu1DGTiPcWepYJB9lzbPgIITIMZCxWkpjRcNozcNE1qSVzv1_8L9dmgpQMy7qLGFI47YUa

    3、数据库查询、选择、删除语句(编程题有一道给出一个学生表一个课程表一个选课表,让你按要求选出信息):参看http://blog.sina.com.cn/s/blog_7f4eec5b01016c27.html

    (1)数据记录筛选:

    sql="select * from 数据表 where 字段名=字段值 orderby 字段名 [desc] "

    sql="select * from 数据表 where 字段名 like '%字段值%' orderby 字段名 [desc]"

    sql="select  top10 * from 数据表 where 字段名 orderby 字段名[desc]"

    sql="select * from 数据表 where 字段名 in('值1','值2','值3')"

    sql="select * from 数据表 where 字段名 between 值1 and 值 2"

    (2)更新数据记录:

    sql="update 数据表 set 字段名=字段值 where 条件表达式"

    sql="update 数据表 set 字段1=值1,字段2=值2……字段n=值n where 条件表达式"

    (3)删除数据记录:

    sql="delete from 数据表 where 条件表达式"

    sql="delete from 数据表 "(将数据表所有记录删除)

    (4)添加数据记录:

    sql="insert into 数据表(字段1,字段2,字段3…) values(值1,值2,值3…)"

    sql="insert into 目标数据表 select * from 源数据表"(把源数据表的记录添加到目标数据表)


    4、Linux查看和调度的指令是:参看http://www.jobui.com/mianshiti/it/linux/5033/

    进程查看的命令是ps和top。

    进程调度的命令有at,crontab,batch,kill。

    5、什么是DDoS?

    分布式拒绝服务(DDoS:Distributed Denial of Service)攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,从而成倍地提高拒绝服务攻击的威力。


    6、.h头文件中的ifndef/define/endif的作用?

    答:防止该头文件被重复引用。

    评:参看http://blog.sina.com.cn/s/blog_4bf29be90100wkz5.html

    7、说出事务的四个特性:

    答:参看http://bbs.csdn.net/topics/320025183

    在数据库中,所谓事务是指一组逻辑操作单元,使数据从一种状态变换到另一种状态,对数据库的增删改查都是事务操作。

    理解了事务的含义。理解应该不难了吧

    原子性:组成事务处理的语句形成了一个逻辑单元,不能只执行其中的一部分

    一致性:在事务处理执行之前和之后,数据是一致的。

    -- 插入数据A, 写进数据还是A,不会变成B

    隔离性:一个事务处理对另一个事务处理没有影响。

    -- 事务A 增加数据,事务B删除数据, 互相不影响

    持续性:当事务处理成功执行到结束的时候,其效果在数据库中被永久纪录下来。

    -- 插入数据库的数据写到了磁盘,就是永久了

    8、如何判断CPU是大端还是小端

    答:参看http://blog.csdn.net/flickedball/article/details/4096991

    #include

    int main()

    {

    union ut{

    short s;

    char c[2];

    }u;

    if(sizeof(short) == 2)

    {

    u.s = 0x0102;

    if(u.c[0] == 1 && u.c[1] == 2)

    {

    printf("big enidan/n");

    }else if(u.c[0] == 2 && u.c[1] == 1)

    {

    printf("little endian./n");

    }

    return 0;

    }

    }

    9、sizeof函数在什么阶段起作用()

    A 编译  B预编译  C 链接  D运行

    10、写堆排序代码(伪代码也可)

    #include

    //array是待调整的堆数组,i是待调整的数组元素的位置,nlength是数组的长度

    //本函数功能是:根据数组array构建大根堆

    voidHeapAdjust(intarray[],inti,intnLength)

    {

    intnChild;

    intnTemp;

    for(;2*i+1

    {

    //子结点的位置=2*(父结点位置)+1

    nChild=2*i+1;

    //得到子结点中较大的结点

    if(nChildarray[nChild])++nChild;

    //如果较大的子结点大于父结点那么把较大的子结点往上移动,替换它的父结点

    if(array[i]

    {

    nTemp=array[i];

    array[i]=array[nChild];

    array[nChild]=nTemp;

    }

    elsebreak;//否则退出循环

    }

    }

    //堆排序算法

    voidHeapSort(intarray[],intlength)

    {

    inti;

    //调整序列的前半部分元素,调整完之后第一个元素是序列的最大的元素

    //length/2-1是最后一个非叶节点,此处"/"为整除

    for(i=length/2-1;i>=0;--i)

    HeapAdjust(array,i,length);

    //从最后一个元素开始对序列进行调整,不断的缩小调整的范围直到第一个元素

    for(i=length-1;i>0;--i)

    {

    //把第一个元素和当前的最后一个元素交换,

    //保证当前的最后一个位置的元素都是在现在的这个序列之中最大的

    array[i]=array[0]^array[i];

    array[0]=array[0]^array[i];

    array[i]=array[0]^array[i];

    //不断缩小调整heap的范围,每一次调整完毕保证第一个元素是当前序列的最大值

    HeapAdjust(array,0,i);

    }

    }

    intmain()

    {

    inti;

    intnum[]={9,8,7,6,5,4,3,2,1,0};

    HeapSort(num,sizeof(num)/sizeof(int));

    for(i=0;i

    {

    printf("%d ",num[i]);

    }

    printf("\nok\n");

    return0;

    }

    参看http://baike.baidu.com/link?url=Ub2UniwKfkB94IhVPqNxPZbQw5ufVOMbFrOTxJ8Th724UsYq0fRf6ryooVKenbTW3eaFmjB_9RcDiS5-tKF-ia#2_1

    虽然是基础知识但学渣还是不太懂,有人能用通俗语言介绍一下这个算法吗?

    11、参看http://blog.csdn.net/liujinxunhappy08110/article/details/5514358

    Michael喜欢滑雪这并不奇怪,因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个区域中最长底滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子

    1  2  3  4 5

    16 17 18 19 6

    15 24 25 20 7

    14 23 22 21 8

    13 12 11 10 9

    一个人可以从某个点滑向上下左右相邻四个点之一,当且仅当高度减小。在上面的例子中,一条可滑行的滑坡为24-17-16-1。当然25-24-23-...-3-2-1更长。事实上,这是最长的一条。

    Input

    输入的第一行表示区域的行数R和列数C(1 <= R,C <= 100)。下面是R行,每行有C个整数,代表高度h,0<=h<=10000。

    Output

    输出最长区域的长度。

    相关文章

      网友评论

          本文标题:2015.03.14 网易CC笔试总结(TTT计划)

          本文链接:https://www.haomeiwen.com/subject/kzobxttx.html