艺龙2018秋招前端试题.docx
一.选择题1. 若一棵完全二叉树共有m个结点,则其叶子结点数不可能是(D)。A. (m+l)2B. 奇数个叶子结点C. m/2D. (m-l)22. 设某餐厅有10张餐桌,如用PT操作实现餐桌资源分配,设信号量为S,以下叙述中错误的是(八)A执行V(三)操作后,如发现S<=0,则应通知等待客人队列中的下一位客人用餐B新客人来到后应依次执行P(三)操作、用餐、V(三)操作C新客人执行P(三)操作后,如发现SCO,则应进入等待客人队列中等待D等待客人队列中的客人必须等到S>0时,才能进入餐厅用餐3. voidrecursive(intn,intm,into)if(n<=0)printf(%d,%dnw,m,o);elserecursive(n-l,m+l,o);recursive(n-l,m,o+l);)以上函数的时间复杂度(D)A.0(2n)C.0(n2*m2)D.O(n*m*o)4. 在下列选项中,创建和启动线程的方式正确的是:(C)A. newThread(newRunnableOpublicvoidrun()doStuff();).runO;B. newThreadOpublicvoidrun()doStuffO;.start();C. newThread(newRunnable)publicvoidrun()doStuff();).start();D.newThreadOpublicvoidstartOdoStuff();5. 下列代码执行后的变量num3的值是(C)intnum1=6,num2=7,num3=12;if(+numl=num2)num3=+÷num3*3;A. 12B. 36C. 39D. 376. 当n=l时,T(n)=l;当n>l时,T(n)=3T(n3)+n;求该递归方程的时间复杂度(B)A. 0(n3)B. O(nlog3n)C. 0(n)D. 0(n2)7. (多选题)在计算机网络中,关于服务与协议的说法中是(CD)A服务与协议是完全相分离的B服务与协议是相同的概念C服务是各层向其上层提供的一组操作,涉及两层间接口的定义及实现D协议与服务的具体实现有关8. 设有以下递归函数:intf(intm,intn)returnn+1;elseif(n=O)returnf(m-l,1);elsereturnf(m-l,f(m,n-l);)则f(3,3)的返回结果为(C)A. 63B. 62C. 61D. 609. 关于继承说法正确的是:(B).JaVa类允许多继承B. JaVa接口允许多继承C. 接口与类都不允许多继承D. 接口与类都允许多继承10. 对于如下代码段classA(publicAfoo()returnthis;)classBextendsApublicAfoo()returnthis;可以放入到横线位置,使程序正确编译运行,而且不产生错误的选项是(C)A. publicintfoo()return1;B. publicfoo()returnA;C. publicAfoo(Bb)returnb;D. publicvoidfooO11. 某学校图书馆使用关系型数据库管理学生借书信息,设有表示学生借书的三张表:学生S(学好,姓名,性别,年龄,院系),图书B(书号,书名,作者,出版社,价格),借书SB(学号,书号,借阅时间),则表SB的键或码为(八)。A学号,书号B学号,借阅时间C表SB无键或码D书号,借阅时间12. classPersonprivateStringname;privateintage;publicPerson(Stringname,intage)this,name-name;this,age=age;)publicstaticvoidmain(Stringargs)throwsExceptionClasscIazz=Personclass,Personp-(Person)clazz.newlnstance();Sysytem.out.println(p=null?false:true);以上代码的执行结果是(D)A. 编译不通过B. trueC. falseD. 运行时抛出异常13. 线性表的链式存储结构与顺序存储结构相比,链式存储结构的优点有(D)A. 排序时减少元素的比较次数B. 便于查找C. 节省存储空间D. 插入与删除运算效率高14. 下列叙述中正确的是(C)A. 向一个含有100个元素的数组中插入一个元素,最坏情况需要移动99个元素B. 在一个含有100个元素的单链表中,使用二分查找法查找一个元素,最坏需要比较log2(100)次C. 在一个含有100个元素的数组中,使用二分查找法查找一个元素,最坏需要比较log2(100)次D. 向一个含有100个元素的单链表中插入一个元素,最坏情况需要移15. 动100个元素16. 1.R分析法是一种(八)分析技术A. 自底向上B. 自右向左C. 自左向右D. 自顶向下17. 设有5件物品,其重量分别为(77,22,29,50,99),价值分别为(92,22,87,46,90),背包的容量为100,求背包的最大价值为(C)A. 155B. 114C. 133D. 10918. MySqI中存放日期时间型数据时,最佳数据类型是(C)A. BigintB. DateC. DatetimeD. Timestamp19. (多选题)在语义分析中,符号表用于(BC)A. 地址分配B. 语义检查C. 产生中间代码D. 语法检查20. 下列说法不正确的是(B)A. 所有关键活动提前完成,则整个活动提前完成B. 任何一个关键活动提前完成,将使整个工程提前完成C. 关键活动不按期完成将会影响整个工程的完成时间D. 某些活动若提前完成,将有可能使整个工程提前完成21. 设关键字为4,7,9,11,15,23,27,29,31,35,40,43,50,65的有序文件,当用折半查找算法查找关键字为43时,比较次数为(D)A. 8B. 2C. 6D. 422. 某网络的IP地址空间为10.0.17.0/24,采用等长子网划分,子网掩码为255.255.255.240,则该网络的最大子网个数,每个子网内的最大分配地址个数为(八)A. 16.14B. 32.16C. 32.8D. 32.623. (多选题)下列哪些协议属于网络层的协议(BCD)A. PPPB. ARPC. ICMPD. IGMP24. 以下有关死锁的叙述中,错误的是(D)A. 系统发生死锁时,死锁进程的个数至少为2个B. 银行家算法可避免死锁的发生,但需要很大的系统开销C. 如果允许进程剥夺使用其他进程占有的资源,就不会出现死锁D. 要消除死锁,必须避免在资源分配中存在环路25. (多选题)下面关于设计模式说法错误的是(AD)A. 简单工厂模式的优点是工厂角色可以通过继承而得以复用B. 装饰模式能够动态地为一个对象增加新的职责C. 设计模式的基本要素包括名称、意图、解决方案、参与者和协调者D. 当需要用比较通用和复杂的对象指针代替简单指针时应用职责链模式26. 以下有关多道程序的描述中,正确的是(D)A. 在多道环境下执行的每道程序必须同时开始,同时结束B. 多道程序带来了程序间的资源竞争,程序不断被“执行-暂停-执行”,降低了整个系统的执行效率C. 在单CPU系统中,无法实现多道程序D. 在多道程序环境下,数据的输入与程序执行开始时间都是随机的27. 比较Sl和s2指向的两个字符串是否相等,如下表达式中正确的是(D)A. (si.IengthO.equals(s2)B. (si.IengthO.equals(s2.IengthO)C. (si=s2)D. (si.equals(s2)28. (多选题)若用一个大小为6的一维数组实现环形队列,且当前rear和front的值分别为1和5,当从队列中删除一个元素,再插入两个元素后,一下说法正确的是(ACD)A. rear的值为3B. front的值为4C. 完成插入删除操作后,队列中元素个数为3D. front的值为029. (多选题)以下哪个方法与方法PUbIiCvoidguess(inta)是重载方法(ABC)A. publicvoidguess(longa)B. publicvoidguess(inta,intb)C. publicvoidguess(floata)D. publicintguess(inta)30. 下面哪个语句是语法正确的(八)A. floatfa;B. charca=iiSomeString"C. int3ia=(l,2,3);D. doubletdb=newInt10;31. (多选题)在实际开发过程中,我们需要应用程序中保持唯一的一个实例,即单例模式,以下说法正确的是(AC)A. 它具有静态公有方法B. 其它选项均不正确C. 它具有私有成员变量D. 它拥有公有的构造方法1 .买面包一天,小明去超市购买面包。在超市里面,他一共发现了多种类型面包,它随手拿了一些面包放进购物篮里。在结账之前,他很担心自己的钱不够,于是他想计算一下购物篮中面包的总价格。小明很清楚每种面包的价格和他购买每种面包的个数,但是他计算能力不足,你可以帮他计算吗?输入:第一行一个整数n,表示超市中面包的总类型数,ICnClOO;第二行n个整数,第i个数表示第i种面包的价格ai,k=ai<=Io0;第三行一个整数m,l<=m<=100接下来m行每一行有两个整数x,y,表示第X种面包购买了y个,保证l<=x<=n,l<=y<=100输出:输出一个整数,表示购买面包总价格。2 .逃脱神凛幻域受到小人的设计,主人公暮小云落入一个名为神凛幻域的奇特地方。对于迷失在这里的人而言这个空间没有绝对的方向,想要脱离这个地方就必须向前走出n步。由于在这个空间内没有方向的概念,无论何时向任何方向迈出一步都是等效的(哪怕你是原地转圈,只要走出N步即可脱离幻境)。不过,由于空间壁垒的原因,不同时刻向不同方向走所耗费的体力不同。现在已知不同时刻向某个方向跨出一步所需耗费的体力,请你告诉暮小云怎么走最省体力,以及需要耗费的最小体力。输入:有多个输入样例,输入的第一行是样例个数T(k=TC50).每个样例的第一行是一个整数n(k=nClOOOOO)。紧接着是四行,依次表示东南西北四个方向的体力耗费情况,每行n个数字,分别表示第n步向该方向走需要花费的体力值xi(0<=xi<=1000000)o某一步的多个方向体力值均为最小值时按照东南西北的顺序取优先方向。输出:第一行输出需要的最小体力值,第二行输出行走方案分别用符号ESWN表示东南西北。