郑大信息工程学院计算机专业复试面试抽题.docx
- 文档编号:23788581
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:41
- 大小:54.71KB
郑大信息工程学院计算机专业复试面试抽题.docx
《郑大信息工程学院计算机专业复试面试抽题.docx》由会员分享,可在线阅读,更多相关《郑大信息工程学院计算机专业复试面试抽题.docx(41页珍藏版)》请在冰豆网上搜索。
郑大信息工程学院计算机专业复试面试抽题
郑大信息工程学院计算机专业2015年复试面试抽题
一、Java语言的优缺点有哪些?
嵌入式的Java开发平台是什么?
java语言的优点:
1:
面相对象,编程非常灵活;
2:
跨平台,可在不同的平台移植;
3:
语言很鲁棒,很安全的一门语言,做出来的系统很安全;
4:
应用范围广,社区论坛活跃
缺点嘛,整体来说java就是慢了点,相对C,c++是有点差了点的.
嵌入式java开发平台多的去了,比如android算是一个平台,或者javaME也算一个,或者其他的开发平台,只要是基于java开发的嵌入式系统,应该都算是平台了.
特点与优势:
Java是目前世界上最流行的计算机编程语言,是一种可以编写跨平台应用软件的面向对象的程序设计语言。
这可以概括JAVA有着自己独特的优势:
语言简单、是一个面向对象、分布式应用并且安全、体系结构中立并且可移植,最重要,它是一个动态语言。
Java语言的特点与优势有哪些呢?
1.面向对象
Java吸取了C++面向对象的概念,将数据封装于类中,利用类的优点,实现了程序的简洁性和便于维护性。
类的封装性、继承性等有关对象的特性,使程序代码只需一次编译,然后通过上述特性反复利用。
程序员只需把主要精力用在类和接口的设计和应用上。
Java提供了众多的一般对象的类,通过继承即可使用父类的方法。
在Java中,类的继承关系是单一的非多重的,一个子类只有一个父类,子类的父类又有一个父类。
Java提供的Object类及其子类的继承关系如同一棵倒立的树形,根类为Object类,Object类功能强大,经常会使用到它及其它派生的子类。
2.平台无关性
平台无关性是指Java能运行于不同的平台。
Java引进虚拟机原理,并运行于虚拟机,实现不同平台的Java接口之间。
使用Java编写的程序能在世界范围内共享。
Java的数据类型与机器无关,Java虚拟机(JavaVirtualMachine)是建立在硬件和操作系统之上,实现Java二进制代码的解释执行功能,提供于不同平台的接口的。
3.安全性
Java的编程类似C++,学习过C++的读者将很快掌握Java的精髓。
Java舍弃了C++的指针对存储器地址的直接操作,程序运行时,内存由操作系统分配,这样可以避免病毒通过指针侵入系统。
Java对程序提供了安全管理器,防止程序的非法访问。
4.健壮性
Java致力于检查程序在编译和运行时的错误。
类型检查帮助检查出许多开发早期出现的错误。
Java自己操纵内存减少了内存出错的可能性。
Java还实现了真数组,避免了覆盖数据的可能,这些功能特征大大提高了开发Java应用程序的周期。
并且Java还提供了Null指针检测、数组边界检测、异常出口、Bytecode校验等功能。
5.分布式
Java建立在扩展TCP/IP网络平台上。
库函数提供了用HTTP和FTP协议传送和接受信息的方法。
这使得程序员使用网络上的文件和使用本机文件一样容易。
二、数据库恢复的技术有哪些?
数据转储和登录日志文件是数据库恢复的基本技术。
当系统运行过程中发生故障,利用转储的数据库后备副本和日志文件就可以将数据库恢复到故障前的某个一致性状态。
三、说出二种计算机国际图像标准?
(常见的图像格式)
常见图像格式
1)、CDR格式(*.CDR)
CDR(CorelDRAW)格式是CorelDRAW软件的专用图形文件格式,CDR可以记录矢量图形文件的属性,位置和分页等,但它在兼容度上比较差,所有CorelCRAW应用程序中均能使用,但其他的图像编辑软件打不开此类文件
2)、AI格式(*AI)
AI(AdobeIllustrator)文件格式是由专为Macintosh和Windows平台而建立的AdobeSystens所开发的,它起初是基于矢量图的,但在高版本中也支持位图信息
3)、GIF格式(*GIF)
GIF(GraphicsInterchangeFormat,图形交换格式)是在WorldWideWeb及其他联机服务上常用的一种LZW压缩文件格式,是最常用在网页上产生动画效果的方式,常用于显示HTML文档中的索引颜色图形和图像以及其他通信领域
4)、BMP(*BMP)
BMP(Windows-bitmap,位图)格式是DOS和Windows兼容计算机上的标准Windows图像格式,Windows附件里的“画图”软件就是以这种格式存储的
5)、JPEG格式(*JPG和*JPEG)
JPEG(JointPhotographicExpertsGroup,联合图片专家组)格式是在WorldWideWeb及其他联机服务上常用的一种压缩文件的格式,其压缩率是目前各种图像格式中最高的一个,与GIF格式不同,JPEG保留RGB图像中的所有颜色信息,但通过有选择地扔掉数据来压缩文件大小,常用于显示HTML文档中的连续色调的图像以及图片的预览
6)、CPT格式(*CPT)
CPT(CorelPHOTO-PAINT)格式可以将文件存为位图,图像中的遮罩,浮动对象和透镜都会与图像一同保存,CorelDRAW可以以Corel-PHOTO-PAINT格式导入和导出文件
7)、EPS格式(*EPS)
EPS(EncapsulatedPostScript,Windows内嵌的PsotScript)格式可以同时包含矢量图形和位图图形,而且几乎所有的图形,图表和页面排版程序都支持该格式,它是为在PostScript打印机上输出图像开发的,当使用Photoshop打开包含矢量图形的EPS文件时,Photoshop所有功能的格式,可以包括图层,通道和颜色模式等信息
8)、PSD格式(*PSD)
PSD格式是使用AdobePhotoshop软件生成的默认图像格式,也是惟一支持Photoshop所有功能的格式,可以包括图层,通道和颜色模式等信息
9)、SWF格式(*SWF)
SWF(MacromediaFlash)文件格式极为紧凑,质量很高,是用于网页的理想文件格式,在将文件保存为MacromediaFlash文件发布到因特网上时,就要创建HTML文件,CorelDRAW允许用户自动生成所需的HTML文档
10)、PDF格式(*PDF)
PDF(可移植文档格式)由Adobe公司推出,专为在线出版社制定的,是一种灵活的,跨平台,跨应用程序的文件格式,PDF文件精确地显示并保存字体,页面版式以及矢量和位图图形,还可以包含电子文档的搜索和导航功能,如电子链接等
11)、TIFF格式(*TIF)
TIFF(TaggedImageFileFormat,标记图像文件格式)是一种灵活的位图图像格式,几乎所有的绘画,图像编辑和页面排版应用程序都支持这种格式的文件,而且几乎所有的桌面扫描仪都可以产生TIFF格式的图像,TIFF格式常用于在应用程序和计算机平台之间交换文件
四、软件工程中的软件设计的模型。
追溯到程序设计的最早日子,在软件工程的世界里,建模有着悠久的传统。
多数近期的革新都是关注于符号和工具的,这些实践的当前情况是使用统一建模语言(UML)作为首选的建模符号。
UML允许开发团队在相应的模型中获取系统的各方面重要特征,从而通过需求的跟踪和模型元素之间的依赖关系来维护系统同步模型。
软件设计中最重要的概念就是抽象,或者说是采用面向对象的思想来设计软件系统,在面向对象设计方法流行之前采用的是面向过程的思想。
在面向对象的设计中,几个重要的思想就是抽象、继承、封装,在分析和设计时同样要遵循这些原则,分析过程是对需求进行分析,产生出概念模型,此概念模型和设计阶段的模型是不同的,概念模型停留于业务层面,而设计模型则为所设计的概念模型提出技术级别的解决方案。
设计模型中又包括面向对象的域模型以及面向关系数据库的数据模型。
而域模型与数据模型之间的纽带则是对象-关系映射(ORM,ObjectRelationalMapping)。
五、人工智能。
人工智能(ArtificialIntelligence)[1] ,英文缩写为AI。
它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。
人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。
人工智能从诞生以来,理论和技术日益成熟,应用领域也不断扩大,可以设想,未来人工智能带来的科技产品,将会是人类智慧的“容器”。
[2]
人工智能是对人的意识、思维的信息过程的模拟。
人工智能不是人的智能,但能像人那样思考、也可能超过人的智能。
人工智能是一门极富挑战性的科学,从事这项工作的人必须懂得计算机知识,心理学和哲学。
人工智能是包括十分广泛的科学,它由不同的领域组成,如机器学习,计算机视觉等等,总的说来,人工智能研究的一个主要目标是使机器能够胜任一些通常需要人类智能才能完成的复杂工作。
但不同的时代、不同的人对这种“复杂工作”的理解是不同的。
六、代码优化的策略。
Java代码优化策略
如何使用Exception
Exception降低性能。
一个异常抛出首先需要创建一个新的对象。
Throwable接口中的构造器调用名为fillInStackTrace()的本地方法。
这个方法负责巡检栈的整个框架来收集跟踪信息。
这样无论何时有异常抛出,它要求虚拟机装载调用栈,因为一个新的对象在中部被创建。
异常应当仅用于有错误发生时,而不要控制流。
2.不要两次初始化变量
Java通过调用独特的类构造器默认地初始化变量为一个已知的值。
所有的对象被设置成null,integers(byte,short,int,long)被设置成0,float和double设置成0.0,Boolean变量设置成false。
这对那些扩展自其它类的类尤其重要,这跟使用一个新的关键词创建一个对象时所有一连串的构造器被自动调用一样。
3.在任何可能的地方让类为Final
标记为final的类不能被扩展。
在《核心JavaAPI》中有大量这个技术的例子,诸如java.lang.String。
将String类标记为final阻止了开发者创建他们自己实现的长度方法。
更深入点说,如果类是final的,所有类的方法也是final的。
Java编译器可能会内联所有的方法(这依赖于编译器的实现)。
在我的测试里,我已经看到性能平均增加了50%。
4.在任何可能的地方使用局部变量
属于方法调用部分的自变量和声明为此调用一部分的临时变量存储在栈中,这比较快。
诸如static,实例(instance)变量和新的对象创建在堆中,这比较慢。
局部变量的更深入优化依赖于你正在使用的编译器或虚拟机。
5.停止小聪明
很多开发人员在脑子中编写可复用和灵活的代码,而有时候在他们的程序中就产生额外的开销。
曾经或者另外的时候他们编写了类似这样的代码:
publicvoiddoSomething(Filefile){
FileInputStreamfileIn=newFileInputStream(file);
//dosomething
他够灵活,但是同时他们也产生了更多的开销。
这个主意背后做的事情是操纵一个InputStream,而不是一个文件,因此它应该重写如下:
publicvoiddoSomething(InputStreaminputStream){
//dosomething
6.乘法和除法
我有太多的东东适用于摩尔法则——它声明CPU功率每年成倍增长。
“摩尔法则”表明每年由开发者所写的差劲的代码数量三倍增加,划去了摩尔法则的任何好处。
考虑下面的代码:
for(val=0;val<100000;val+=5){shiftX=val8;myRaise=val2;}
如果我们狡猾的利用位移(bit),性能将会六倍增加。
这是重写的代码:
for(val=0;val<100000;val+=5){shiftX=val<<3;myRaise=val<<1;}
代替了乘以8,我们使用同等效果的左移3位。
每一个移动相当于乘以2,变量myRaise对此做了证明。
同样向右移位相当于除以2,当然这会使执行速度加快,但可能会使你的东东以后难于理解;所以这只是个建议
7.用代码有效处理内存溢出
OutOfMemoryError是由于内存不够后普遍会遇到的问题,下面一段代码能有效判断内存溢出错误,并在内存溢出发生时有效回收内存
通过该方法可以联想到有效管理连接池溢出,道理等同。
8.LazyLoading(Lazyevaluation)在需要装入的时候才装入
9.异常在需要抛出的地方抛出,trycatch能整合就整合
10.For循环的优化
11.字符串操作优化
12.对象重用(特别对于大对象来说)
13.j2ee相关
a)尽量不要将大对象放到HttpSession或其他须序列化的对象中,并注意及时清空Session
b)使用预编译语句prepareStatement代替createStatement
c)尽可能使用连接池
d)能使用Cache就使用Cache,具体实现可参考jive(Cache\Cacheable\CacheObject\CacheSizes\DefaultCache\LinkdList\LinkdListNode)或ofbiz(org.ofbiz.core.util.UtilCache.java)
seo代码优化策略
A、网页应该符合W3C标准,这个是最基础的seo代码优化,并且也不用你过分操心,你下载的开源程序已经充分考虑了这一点,如果是你手动写程序建站,那么一定要符合W3C标准。
可以预见的是,会手动写程序的建站的seo优化者或者站长怎么可能不熟悉W3C标准呢。
B、代码应该尽量精简,减少网页空白区域,减少table和iframe的运用,减少flash、js等脚本程序,如果非常必要,那么从seo优化角度出发,你也应该为搜索引擎准备另一个文本形式的页面,解释这些内容。
C、网页文件的注释内容你其实也可以去掉大部分,除了一些非常必要的,如客户端给IE的注释以及文档类型的申明外,其他的最好去掉。
D、顶起检查URL,太长的url是否可以考虑精简一些,错误的URL(即死链接)一定要清除掉,另外你应该自制一个404代码页面。
E、根据网站内容的特点进行代码优化。
比如菜鸟seo论坛是phpwind论坛程序搭建的,那么在进行seo代码优化时,我们可以考虑,将一些不必要的链接去掉。
如帖子前面“火”、“精”之类的链接;回复时间的链接、最后回复的链接等等。
这些链接对seo没任何好处,也很少有用户去点击。
去掉它们对蜘蛛爬行更有利。
说得比较杂乱,因为文章全靠自己根据以往知识和经验进行书写,所以看上去并不是很规范,但我想也许在seo思维上你应该得到了一些启发。
seo代码如何优化?
其实就是上面那些标准,以及多一份细心。
php代码优化策略
1.在可以用file_get_contents调换file、fopen、feof、fgets等系列办法的景象下,尽量用file_get_contents,因为他的效力高得多!
然则要重视file_get_contents在打开一个URL文件时辰的PHP版本题目;
2.尽量的少进行文件操纵,固然PHP的文件操纵效力也不低的;
3.优化SelectSQL语句,在可能的景象下尽量少的进行Insert、Update操纵(在上,我被恶批过);
4.尽可能的应用PHP内部函数(然则我却为了找个PHP里面不存在的函数,浪费了本可以写出一个自定义函数的时候,经验题目啊!
);
5.轮回内部不要声明变量,尤其是大变量:
对象(这如同不只是PHP里面要重视的题目吧?
);
6.多维数组尽量不要轮回嵌套赋值;
7.在可以用PHP内部字符串操纵函数的景象下,不要用正则表达式;
8.foreach效力更高,尽量用foreach庖代while和for轮回;
9.用单引号调换双引号引用字符串;
10.“用i+=1庖代i=i+1。
合适c/c++的习惯,效力还高”;
11.对global变量,应当用完就unset()掉
12.在多重嵌套轮回中,如有可能,该当将最长的轮回放在内层,最短轮回放在外层,如许就可以削减cpu跨切轮回层的次数,从而优化法度机能。
40个优化你的php代码的小提示
1.若是一个办法可静态化,就对它做静态声明。
速度可提拔至4倍。
2.echo比print快。
3.应用echo的多重参数(译注:
指用逗号而不是句点)庖代字符串连接。
4.在履行for轮回之前断定最大轮回数,不要每轮回一次都策画最大值。
5.刊出那些不消的变量尤其是大数组,以便开释内存。
6.尽量避免应用__get,__set,__autoload。
7.require_once()价格昂贵。
8.在包含文件时应用完全路径,解析操纵体系路径所需的时候会更少。
9.若是你想知道脚本开端履行(译注:
即办事器端收到客户端恳求)的时刻,应用¥_SERVER[‘REQUEST_TIME""]要好于time()。
10.搜检是否能用strncasecmp,strpbrk,stripos函数庖代正则表达式完成雷同功能。
11.str_replace函数比preg_replace函数快,但strtr函数的效力是str_replace函数的四倍。
12.若是一个字符串调换函数,可接管数组或字符作为参数,并且参数长度不太长,那么可以推敲额外写一段调换代码,使得每次传递参数是一个字符,而不是只写一行代码接管数组作为查询和调换的参数。
13.应用选择分支语句(译注:
即switchcase)好于应用多个if,elseif语句。
14.用@樊篱错误消息的做法很是低效。
15.打开apache的mod_deflate模块。
16.数据库连接当应用完毕时应关掉。
17.¥row[‘id""]的效力是¥row[id]的7倍。
18.错误消息价格昂贵。
19.尽量不要在for轮回中应用函数,比如for(¥x=0;¥x 20.在办法中递增局部变量,速度是最快的。 几乎与在函数中调用局部变量的速度相当。 21.递增一个全局变量要比递增一个局部变量慢2倍。 22.递增一个对象属性(如: ¥this->prop++)要比递增一个局部变量慢3倍。 23.递增一个未预定义的局部变量要比递增一个预定义的局部变量慢9至10倍。 24.仅定义一个局部变量而没在函数中调用它,同样会减慢速度(其程度相当于递增一个局部变量)。 PHP可能会搜检看是否存在全局变量。 25.办法调用看来与类中定义的办法的数量无关,因为我(在测试办法之前和之后都)添加了10个办法,但机能上没有变更。 26.派生类中的办法运行起来要快于在基类中定义的同样的办法。 27.调用带有一个参数的空函数,其花费的时候相当于履行7至8次的局部变量递增操纵。 类似的办法调用所花费的时候接近于15次的局部变量递增操纵。 28.用单引号庖代双引号来包含字符串,如许做会更快一些。 因为PHP会在双引号包抄的字符串中搜寻变量,单引号则不会。 当然,只有当你不须要在字符串中包含变量时才可以这么做。 29.输出多个字符串时,用逗号庖代句点来分隔字符串,速度更快。 重视: 只有echo能这么做,它是一种可以把多个字符串算作参数的“函数”(译注: PHP手册中说echo是说话布局,不是真正的函数,故把函数加上了双引号)。 30.Apache解析一个PHP脚本的时候要比解析一个静态HTML页面慢2至10倍。 尽量多用静态HTML页面,罕用脚本。 31.除非脚本可以缓存,不然每次调用时都邑从头编译一次。 引入一套PHP缓存机制凡是可以提拔25%至100%的机能,以免除编译开销。 32.尽量做缓存,可应用memcached。 memcached是一款高机能的内存对象缓存体系,可用来加快动态Web应用法度,减轻数据库负载。 对运算码(OPcode)的缓存很有效,使得脚本不必为每个恳求做从头编译。 33.当操纵字符串并须要查验其长度是否满足某种请求时,你想当然地会应用strlen()函数。 此函数履行起来相当快,因为它不做任何策画,只返回在zval布局(C的内置数据布局,用于存储PHP变量)中存储的已知字符串长度。 然则,因为strlen()是函数,多几许少会有些慢,因为函数调用会经过诸多步调,如字母小写化(译注: 指函数名小写化,PHP不区分函数名大小写)、哈希查找,会跟从被调用的函数一路履行。 在某些景象下,你可以应用isset()技能加快履行你的代码。 Ex.(举例如下) if(strlen(¥foo)<5){echo“Fooistooshort”;} vs.(与下面的技能做斗劲) if(! isset(¥foo{5})){echo“Fooistooshort”;} 调用isset()刚巧比strlen()快,因为与后者不合的是,isset()作为一种说话布局,意味着它的履行不须要函数查找和字母小写化。 也就是说,实际上在查验字符串长度的顶层代码中你没有花太多开销。 34.当履行变量¥i的递增或递减时,¥i++会比++¥i慢一些。 这种差别是PHP特有的,并不实用于其他说话,所以请不要批改你的C或Java代码并指望它们能立即变快,没用的。 ++¥i更快是因为它只须要3条指令(opcodes),¥i++则须要4条指令。 后置递增实际上会产生一个姑且变量,这个姑且变量随后被递增。 而前置递增直接在原值上递增。 这是最优化处理惩罚的一种,正如Zend的PHP优化器所作的那样。 紧记这个优化处理惩罚不失为一个好主意,因为并不是所有的指令优化器都邑做同样的优化处理惩罚,并且存在多量没有装配指令优化器的互联网办事供给商(ISPs)和办事器。 35.并不是事必面向对象(OOP),面向对象往往开销很大,每个办法和对象调用都邑消费很多内存。 36.并非要用类实现所有的数据布局,数组也很有效。 37.不要把办法细分得过多,细心想想你真正筹算重用的是哪些代码? 38.当你须要时,你总能把代码分化成办法。 39.尽量采取多量的PHP内置函数。 40.若是在代码中存在多量耗时的函数,你可以推敲用C扩大的体式格式实现它们。 41.评估查验(profile)你的代码。 查验器会告诉你,代码的哪些项目组消费了几许时候。 Xdebug调试器包含了查验法度,评估查验总体上可以显示出代码的瓶颈。 42.mod_zip可作为Apache模块,用来即时紧缩你的数据,并可让数据传输量降落80%。 七、IPV4与IPV6的区别? 1)、更大的地址空间。 IPv4中规定IP地址长度为32,即有2^32-1个地址;而IPv6中IP地址的长度为128,即有2^128-1个地址。 2)、更小的路由表。 IPv6的地址分配一开始就遵循聚类(Aggregation)的原则,这使得路由器能在路由表中用一条记录(Entry)表示一片子网,大大减小了路
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信息工程学院 计算机专业 复试 面试