2018搜狗秋招JAVA和前端笔试题.docx
2018搜狗秋招试题目录2018搜狗JaVa秋招试题2一、不定项选择题22018搜狗前端秋招试题6一、选择题6二、问答题9一.不定项选择题Is如下算法的时间复杂度是:(A)intfunc(vector&nums)intn=nums.size();if(n=0)return1;)for(inti=0;i<n;i+)whi1e(numsi>0&&umsi<=n&&numsi!=i+1)inttmp=numsi;if(tmp=numsnumi-1)break;)numsi=numsnumi-1;numstmp-1=tmp;)for(inti=0;i<n;i+)if(numsi!=i+1)returni+1;)returnn+1;A. 0(n2)B. O(n!)C. O(n)O(n3)2、一个子串由7个A和7个B组成,且满足所有的前缀子串中A的个数大于等于B的个数,问这样的子串有多少个:(B)A. 428B. 429C. 430D. 4313、函数F(n)=F(n-1)+n+1(n>1)的递归终止条件是:(B)A. F(O)=OB. F(I)=IC. F(I)=OD. F(O)=I4、可通过编译的语句有哪些?(A)A. intx=newint11;B. bytex=newbyte;C. shortx11=newshort;D. 1ongx=new1ong11;5、以下哪种方式会导致对应线程让出CPU:(A)A.调用s1eep函数B.抛出RuntimeExceptionC.提高其他线程的调用优先级增加子线程并调度执行子线程6.Java数据结构中列表(1ist)和集合(Set)下面说法错误的是?(ABC)A. 1ist和Set都可以包含重复元素的有序集合B. 1ist和Set都是有序集合C. 1ist中最多只能有一个空元素D. Set中最多只能有一个空元素7、下列关于OraeIeHOtSPOtJaVa虚拟机的说法之中正确的是:(AB)A.如果一个类显式地override了Object类的fina1ize方法,那么这个fina1ize方法最多只能被Java虚拟机调一次。B.在同一个Java虚拟机之中,一个c1ass文件只能被加载一次。C.Java虚拟机只有在堆空间不足的情况下,才会触发垃圾回收。D.对于分代的垃圾回收算法,在进行新生代(younggeneration)垃圾回收的时候,只需扫描新生代的内存区域,在进行老年代(o1dgeneration)垃圾回收的时候,只需要扫描老年代的内存区域。8、<divsty1e="padding-bottom:50%”>中的50%应该如彳可计算?(B)A.父级元素高度的50%B.父级元素宽度的50%C.自身高度的50%D.09、以下哪些数组方法会更改现有数组返回?(C)A. Array.prototype.concatB. Array.prototype.s1iceC. Array.prototype.sortD. Array.prototype.sp1ice10s下面哪些是F1ex布局的项目属性:(BD)A.f1ex-f1owB.a1ign-se1fC.a1ign-itemsD.f1ex-growHs以下代码的运行结果是:(A)for(vari=1;i<=3;i+)setTimeout(fuction()conso1e.1og(i)j,0);A.444B.333C.123D.I11一、选择题1. 关于cookie,sessionstorage和IocaIStorage,以下说法正确的有:(be)A. IocaIStorage作用域都不受限制,可以跨域访问B. IocaIStorage是持久化的本地存储C. sessionstorage是会话级别的存储D. sessionstorage仅当用户1ogout或者手动清除缓存时才失效2. <divStyIe二Padding-bottom:50%>中的50%应该如何计算?(a)A.父级元素宽度的50%B.0C.自身高度的50%D.父级元素高度的50%3. htm1结构如下<div><div><p><p><p><p><p><p>以下哪些选择器能够选中第一组P标签?(a)1. div+p2. p:first-chi1d3. p:first-of-type4. divp5. p:nth-chi1d(2)A.135B. 12C. 345D. 244 .下面哪些是F1ex布局的项目属性:(ac)A. a1ign-se1fB. a1ign-itemsC. f1ex-growD. f1ex-f1ow5 .下列关于使用MVVM的特性,正确的是:(bed)A.MVVM是一种使用模型-视图-控制器设计创建Web应用程序的模式。B.可重用性。可以把一些视图的逻辑放在ViewMode里面,让很多View重用这段视图逻辑。C.低耦合。View可以独立于Mode1变化和修改D.模块化开发。开发人员可以专注与业务逻辑和数据的开发(VieWMOdeI)。设计人员可以专注于界面(VieW)的设计。6.下面代码输出是什么?bfunctionfun(n,o)conso1e.Iog(o);returnfun:function(m)returnfun(m7n);)vara=fun(0).fun(1).fun(2).fun(3);A. undefined,1,2,3B. UndefinedQ1,2C. undefined,044D. Undefined7O7O77 .以下哪些数组方法会更改现有数组返回?(ab)A. Array.prototype.sp1iceB. Array.prototype.sortC. Array.prototype.concatD. Array.prototype.s1ice8 .以下代码的运行结果是:(c)functionAnima1(name)this.name=name;)Anima1prototype=getName:function()returnthis.name;)varmyDog=newAnima1("dog");vargetName=myDog.getName;getName(''cat");A. undefinedB. "cat"C. D. "dog"9 .以下代码的运行结果是?(b)(答案应该是4444)for(vari=0;I<=3;i+)setTimeout(function()conso1e.1og(i);1,0);)A. I11B. 444C. 123D. 33310 .HTTP状态码表示暂时性转移的是:(b)A. 304B. 302C. 301D. 200二、问答题1 .HTM1+CSS+Javascript实现以下功能:当用户点击页面里所有a标签时,如果其链接里包含数字,则点击该链接时提示用户该链接存在风险,是否继续点击?用户只有点击确认才打开该链接2 .搜狗汪仔机器人在参加一站到底节目录制时,被问到一个问题:对任意长度字符串删除其中的任意的N(N>=0)个字符能形成多少种不同的子字符串呢?请使用Javascript编码扩展String的de1ete方法帮助汪仔解决这个问题。测试用例:functiontest()returnougou,.de1ete(0)=1;)