《搜狗2018秋招Java客户端试题.docx》由会员分享,可在线阅读,更多相关《搜狗2018秋招Java客户端试题.docx(14页珍藏版)》请在优知文库上搜索。
1、一、选择题(20)1、以下没有用栈来实现的应用场景是:AA进程调度B函数调用C表达式求值D树的节点的深度优先遍历2、不定项选择,如下算法的时间复杂度D如R吃的麻酗渡:()intfunc(vector&nums)(intn=nums.sizeO:if(n=OMreturn1;)for(int1=0:i0&nums(il)的递归终止条件是BAF(O)=IBF(I)=ICF(O)=ODF(I)=O6、给定一个数组235617849,建立初始堆(最小堆)后,数组序列是多少CA123657849B125437689C125437869D1256378497、CPU利用率与并发进程的关系是DA进程数多,提
2、高并发进程数,可提CPU利用率B并发进程的内存访问会增加了访存的局部性特征C并发进程导致内存访问减小D局部性特征的下降会导致缺页率上升和CPU利用率下降8、有个500*400的稀疏矩阵,有20个非零元素,上每个整型数占2字节,则用三元组表示该矩阵时,所需的字节数是CA134B120C126D1249、一个字符串由7个A和7个B组成,且满足所有的前缀字符串中的A的个数大于等于B的个数,问这样的字符串有多少个BA431B429C430D42810、在关键词随机分布的情况下,二叉查找树的查找长度与哪些查找相当:BA插值查找B二分查找C菲波那契查找D顺序查找11、java集合中迭代器中iterator
3、的fail-fast(快速失败)机制,抛出的是什么异常BAClassCastException异常BConcurrentModificationException异常CNUIIPOinEXCePtion异常DSecturityException异常12、关于java类加载,正确的是CA在生成某个类的.class文件时,该类被加载到JvM中BNociassFeffoundError表示在编译时这个类是不能够被找到的C类加载器的体系并不是“继承”体系,而是一个“委派”体系D某个类可能由于被不同的类调用而被加载多次13、java程序进行调优,会关注以下两个目标:响应能力和吞吐量,关于这两项目目标描述
4、错误的是AA更重视乔吐量的系统,比重视响应能力的系统更加不能接受较长的停顿时间B吞吐量关注在一个待定时间段内应用系统的最大工作量C提高响应能力期望程序或系统对请求的响应时间尽可能短D对响应能力要求很高的系统,较大的停顿时间是不可接受的14、下列关于OraCleHostpotjava虚拟机的说法正确的是I)Ajava虚拟机只有在堆空间不足的情况下,才会触发垃圾回收,B在同一个java虚拟机之中,一个CIaSS文件只能被加载一次C如果一个类显示的OVerride了ObjeCt类的finalize方法,那么这个finallize方法最多只能被java虚拟机调用一次D对于分代的垃圾回收算法,在进行新生
5、代(younggeneration)垃圾回收的时候,只需要扫描新生代的内存区域,在进行老年代垃圾回收的时候,只需要扫描老年代的内存区域15、可通过编译的语句有哪些BI)Ashortxll=newshortBlongx=newlongl1Cbytex=newbyteDintx=newintll16、不定项选择publicclassToyprivateStringname;staticSysterrkoutprintin(aInitiaIizingv);ToyO(System.outprintin(eBuilding*):)publicvoidsetName(Stringname)th&name=
6、name:)publicStringplayToy(Stringplayer)Stringmsg=buildMsg(player);System.xjt.printin(msg);returnmsg;privateStringbuildMsg(Stringplayer)Stringmsg=player,plays*thiuame;returnmsg;Ipublicstaticvoidmain(StnngDargs)ToytoynewToyO;toy.setName(ball)toy.playToy(awagzai*):输出结果为:AAInitializingBuildingWangzaipla
7、ysballBInitializingWangzaiplaysbal1CBuildingWangzaiplaysballDBuildingInitializingWangzaiplaysball17、java数据结构中列表(List)和集(Set)下面说法错误的是ABCAList和Set都可以包含重复元素的有序结合BLiSt中最多只能有一个空元素CLiSt和Set都是有序集合DSet中最多只能有一个空元素18、关于java锁说法正确的是BCASynchronized和Lock都是可重入锁BSynchronized通过对象监视器由JVM实现C使用Lock的获取锁方法后,最好使用finally代码
8、块释放锁DSynChrOniZed只能作用于方法,不可以在代码块上使用19、JVM内存配置参数如下-Xmx2048m-Xms2048m-Xmn1024m-XX:MaxPermSize=256m-XXSurvivorRatio=2,其最小内存值和Survivor区总大小分别是BA2028m,256mB2048m,512mC1024m,256mD1024m,512m20、以下哪种方式会导致对应线程让出CPU:(CD)A提高其他线程的调度优先级B增加子线程并调度执行子线程C抛出RuntimeExceptionD调用sleep函数二、问答题(1)1、请阐述java8在java语法上的主要改进三、选择填
9、空(三)1、下面哪些是Android7.0新特性:ADA通知增强功能B支持快速充电的切换C原生的应用权限管理D多窗口支持2、一个应用程序中ConteXt对象的个数等于:BAActivity的个数Bctivity+Service的个数C1个DService的个数AprintonPauseprintonStopprintonDestroyBprintonPauseprintonDestroyCprintonPauseprintonStopDprintonStopprintonDestroy4、AsyncTask的以下函数哪些是在UI线程调用BCAdoinBackground()BOnPreExec
10、uteOCOnPostExecute()DpublishProgress()5、采用Fragment设计的APP比单纯用ACtiVity设计的APP更加流畅,下列说法正确的是ADAACtiVity消耗的内存远大于FragmentBACtiVity的生命周期管理都需要跨进程通信,相对耗时CFragment的生命周期相比Activity更加完备DFragment从栈中恢复是View级操作,而Activity从栈中恢复是Window级操作6、关于线程间通信描述正确的有ABI)AHandler:你可以构造Handler对象来与Looper沟通,以便push新消息到MessageQUeUe取出)所送来的
11、消息BLooper:一个线程可以产生一个LooPer对象,由它来管理比线程里的MessageQueueCLooper:一个线程可以产生多个LOOPer对象,由它来管理比线程里的MessageQueueD线程:UIthread通常就是mainthread,而Android启动程序时会替它建立一个MessageQueue7、关于AnCIrOiCl中的几种动画描述不正确有:BDAPropertyAnimaition:属性动画只对Android3.0(API11)以上版本的Android系统才有效,这种动画可以设置给任何Objeet,包括那些还没有渲染到屏幕上的对象BTewwenAnimation(补
12、间动画):属性动画不再仅仅是一种视觉效果了,而是一种不断的对值进行操作的机制,并将值赋到指定对象的指定属性上,可以是任意对象的任意属性CFrameAnimation(逐帧动画):将多张图片组合起来进行播放,类似于早期电影的工作原理,很多App的loading是采用这种方式DPropertyAnimation(属性动画):是对某个VieW进行一系列的动画的操作,包括浅入淡出,缩放,评议,旋转四种模式。8、下面关于AetiVity,View,WindoW三者之间的关系,说法正确的是有ABCDAViewRoot”是一个View或者说VieWGroup,最初始的根视图。BView的事件监听,是由Wli
13、ndoWManagerSerViCe来接受消息,并且回调Activity函数CViewRoot”通过addView方法来一个个的添加VieWDACtiVity构造的时候会初始化一个Window,准确的说是PhoneWindow9、对于Android的Handler机制的理解正确的是ADAHandler通过HandleMessage方法来处理消息B一个子线程可以绑定多个LOoPer对象C在调用LOoPeroPrePare()前可以在子线程中创建HanClIerDLooper负责将Message压入MQ10、下面代码第一次点击应用打开activity,答应的IOg顺序为(八)publicclassMainActivityextendsActivity(publicstaticfinalStringTAG=eMainActivitya;OverrideprotectedvoidoCreate(BundleSavedInstanceState)SuperonCreate(SavedInstanceState);setContentView(R.layouLactivity_main);1.ogJ(TAG,printOnCreateJ):)OverrideprotectedvoidonStartO1.ogJ(TAG,printonStart