顺丰速运面试题_第1页
顺丰速运面试题_第2页
顺丰速运面试题_第3页
顺丰速运面试题_第4页
顺丰速运面试题_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

顺丰快递:重写和重载的差别:2.

方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。假如在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写(Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义好像被"障蔽"了。假如在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数种类,则称为方法的重载(Overloading)。Overloaded的方法是能够改变返回值的种类。代码查错:a)注意考虑,申明在接口中的对象是静态常量,不同意被改正。所以假如在继承接口的子类中,改正了引用,则会报错b)在一个类中,文件名能够与类名不相同,可是这个类一定是非public的.面象对象三大特色。抽象:抽象就是忽视一个主题中与目前目标没关的那些方面,以便更充分地注意与目前目标相关的方面。抽象其实不打算认识所有问题,而不过选择此中的一部分,临时不用部分细节。抽象包含两个方面,一是过程抽象,二是数据抽象。继承:继承是一种联络类的层次模型,而且同意和鼓舞类的重用,它供给了一种明确表述共性的方法。对象的一个新类能够从现有的类中派生,这个过程称为类继承。新类继承了原始类的特征,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类能够从它的基类那边继承方法和实例变量,而且类能够改正或增添新的方法使之更合适特别的需要。封装:封装是把过程和数据包围起来,对数据的接见只好经过已定义的界面。面向对象计算始于这个基本观点,即现实世界能够被描述成一系列完好自治、封装的对象,这些对象经过一个受保护的接口接见其余对象。多态性:多态性是指同意不同类的对象对同一信息作出响应。多态性包含参数化多态性和包含多态性。多态性语言拥有灵巧、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。hashMap和hashtable的差别:HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都达成了Map接口,主要差别在于HashMap同意空(null)键值(key),因为非线程安全,效率上可能高于Hashtable。HashMap同意将null作为一个entry的key或许value,而Hashtable不同意。HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法简单让人惹起误会。Hashtable继承自Dictionary类,而HashMap是引进的Mapinterface的一个实现。(继承自AbstractMap类).最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程接见Hashtable时,不需要自己为它的方法实现同步,而HashMap就一定为之供给外同步。Hashtable和HashMap采纳的hash/rehash算法都大体相同,所以性能不会有很大的差别。5.启动线程用什么方法start();画出模版模式图7.写一段jdbc查问代码:privateConnectioncon=null;privatePreparedStatementpstmt=null;privateResultSetrs=null;publicvoidgetQuery(){try{("");con=(Connection)("jdbc:","root","root");pstmt=(PreparedStatement)("select*formtabName");rs=(ResultSet)();while()){}}catch(Exceptione){();}finally{try{if(rs!=null){();}if(pstmt!=null){();}if(con!=null){if(!()){();}con=null;}}catch(SQLExceptione){();}}}索引的优弊端:这是因为,创立索引能够大大提升系统的性能。第一,经过创立独一性索引,能够保证数据库表中每一行数据的独一性。第二,能够大大加快数据的检索速度,这也是创立索引的最主要的原由。第三,第四,

能够加快表和表之间的连结,特别是在实现数据的参照完好性方面特别存心义。在使用分组和排序子句进行数据检索时,相同能够明显减少查问中分组和排序的时间。第五,

经过使用索引,能够在查问的过程中,使用优化隐蔽器,提升系统的性能。二、成立方向索引的不利要素(弊端)或许会有人要问:增添索引有这样多的长处,为何不对表中的每一个列创立一个索引呢这种想法诚然有其合理性,但是也有其片面性。固然,索引有很多长处,可是,为表中的每一个列都增添索引,是特别不理智的。这是因为,增添索引也有很多不利的一个方面。第一,创立索引和保护索引要耗资时间,这类时间跟着数据量的增添而增添。第二,索引需要占物理空间,除了数据表占数据空间以外,每一个索引还要占必定的物理空间,假如要成立聚簇索引,那么需要的空间就会更大。第三,当对表中的数据进行增添、删除和改正的时候,索引也要动向的保护,这样就降低了数据的保护速度。三、创立方向索引的准则索引是成立在数据库表中的某些列的上边。所以,在创立索引的时候,应当认真考虑在哪些列上能够创立索引,在哪些列上不可以创立索引。一般来说,应当在这些列上创立索引。第一,在常常需要搜寻的列上,能够加快搜寻的速度;第二,在作为主键的列上,强迫该列的独一性和组织表中数据的摆列构造;第三,在常常用在连结的列上,这些列主假如一些外键,能够加快连结的速度;第四,在常常需要依据范围进行搜寻的列上创立索引,因为索引已经排序,其指定的范围是连续的;第五,在常常需要排序的列上创立索引,因为索引已经排序,这样查问能够利用索引的排序,加快排序查问时间;第六,在常常使用在WHERE子句中的列上边创立索引,加快条件的判断速度。相同,关于有些列不该当创立索引。一般来说,不该当创立索引的的这些列拥有以下特色:第一,关于那些在查问中极少使用或许参照的列不该当创立索引。这是因为,既然这些列极少使用到,所以有索引或许无索引,其实不可以提升查问速度。相反,因为增添了索引,反而降低了系统的保护速度和增大了空间需求。第二,关于那些只有极少量据值的列也不该当增添索引。这是因为,因为这些列的取值极少,比如人事表的性别列,在查问的结果中,结果集的数据行占了表中数据行的很大比率,即需要在表中搜寻的数据行的比率很大。增添索引,其实不可以明显加快检索速度。第三,关于那些定义为text,image和bit数据种类的列不该该增添索引。这是因为,这些列的数据量要么相当大,要么取值极少。第四,当改正性能远远大于检干脆能时,不该当创立索引。这是因为,改正性能和检干脆能是相互矛盾的。当增添索引时,会提升检干脆能,可是会降低改正性能。当减少索引时,会提升改正性能,降低检干脆能。所以,当改正性能远远大于检干脆能时,不该当创立索引。四、创立索引的方法创立索引有多种方法,这些方法包含直接创立索引的方法和间接创立索引的方法。第一,直接创立索引,比如使用CREATEINDEX语句或许使用创立索引导游。第二,间接创立索引,比如在表中定义主键拘束或许独一性键拘束时,同时也创立了索引。truncate和delete,drop的差别:不同点:truncate和delete只删除数据不删除表的构造(定义)drop语句将删除表的构造被依靠的拘束(constrain),触发器(trigger),索引(index);依靠于该表的储存过程/函数将保存,可是变成invalid状态.语句是dml,这个操作会放到rollbacksegement中,事务提交以后才奏效;假如有相应的trigger,履行的时候将被触发.truncate,drop是ddl,操作立刻奏效,原数据不放到rollbacksegment中,不可以回滚.操作不触发trigger.语句不影响表所占用的extent,高水线(highwatermark)保持原地点不动明显drop语句将表所占用的空间所有开释truncate语句缺省状况下见空间开释到minextents个extent,除非使用reusestorage;truncate会将高水线复位(回到最开始).4.速度,一般来说:drop>;truncate>;delete5.安全性:当心使用drop和truncate,特别没有备份的时候.不然哭都来不及使用上,想删除部分数据行用delete,注意带上where子句.回滚段要足够大.想删除表,自然用drop想保存表而将所有数据删除.假如和事务没关,用truncate即可.假如和事务相关,或许想触发trigger,仍是用delete.假如是整理表内部的碎片,能够用truncate跟上reusestroage,再从头导入/插入数据10.代码查错:for(inti=0;i<100;i++){(i);}空表达式:for(i=74;i>=0;i--)这样就总结出三种for循环款式1、for(inti=0;i<100;i++)1、intersect运算返回查问结果中相同的部分既他们的交集SQL>select*fromabc2intersect3select*fromabc2;2、minus运算返回在第一个查问结果中与第二个查问结果不相同的那部分行记录,即两个结果的差集SQL>select*fromabc2minusselect*fromabc;3、Union-Unionall(1)UNION在进行表链接后会挑选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果(2)UNIONALL不过简单的将两个结果归并后就返回。假如返回的两个结果集中有重复的数据,返回的结果集就会包含重复的数据注:从效率上说,UNIONALL要比UNION快好多,假如能够确认归并的两个结果集中不包含重复的数据的话,就使用UNIONALL使用UNION组合查问的结果集有两个最基本的规则:所有查问中的列数和列的次序一定相同。数据种类一定兼容Union:SQL>select,fromabcd2unionselect,fromabc3e;1交集Join1)innerjoin其办理结果与等值/自然连结相同如mssql:--mssql中innerjoin连结需要onConnection条件不然会报错,mysql不会,其结果等于crossjoinselect*fromMajormdon=

innerJOINmysql:其结果等于crosejoinselect*fromMajorminnerjoinDepartmentd;等值连结selectm.*,d.*fromMajorminner

join

Departmentdon=;左连结

/左外连结在sql中,leftjoinmssql:select*fromMajormdon=mysql:select*fromMajorm

leftouterjoinleftleft

outer

的缩写JOINjoin`department`don=;3)rightjoin/rightouterjoin

右连结

/右外连结mssql:select*fromMajorm

right

outer

JOINdon=mysql:select*fromMajorm

rightouter

join`department`don=;4)fulljoin全连结mssql:a)select*fromMajormdon=b)select*fromMajormdon=unionselect*fromMajormdon=c)don=unionallselect*fromMajormdon=whereisnull

FULLOUTERJOINleftouterrightouterrightouter

JOINJOINJOINmysql:mysql版本还不支持

fulljoin,

但能够采纳

join+union

方法实现

,详尽能够参照

:2006/05/26--全连结==一个左连结+一个右连结+union(去掉相同行)a)select*fromMajormleftouterjoin`department`don=unionselect*fromMajormb)select*fromMajorm

rightouterjoin`department`don=leftouterjoin`department`don=unionallselect*fromMajormrightouterjoin`department`don=whereisnull--鼎力倡导使用b)特别是在办理很大的记录集时,unionall不会进行排序及除去相同的行(除去相同的行可能经过第二个join的条件进行实现),所以能够节俭许多时间.差集(notin)sql:select*fromMajormwherenotin(selectdptIdfromdepartment)差集中,mysql与mssql语句能够直接采纳notin来实现并集unionmssql:--union并,默认撤消相同行select*fromMajormunionselect*fromMajortm--unionfull会有重复记录select

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论