开发工程师试题_第1页
开发工程师试题_第2页
开发工程师试题_第3页
开发工程师试题_第4页
开发工程师试题_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

1、 试卷A 第 PAGE 6 页 共 2 页学生填写内容专业班级姓 名学 号密 封 区教师填写内容考试类型考试【 】考查【】命题人审 批 试卷A 第 PAGE 1 页 共 NUMPAGES 6 页 绝密启用前 学院 学年第二学期期末考试 级 专业( )开发工程师试卷B题号一二三四五六七总 分得分评卷人得分评卷人注意事项:请根据自身能力尽量回答下面的题目,不要求全部回答。允许查阅资料,但是请结合自身经验独立完成,不允许任何形式的摘要和抄袭。请于5个工作日内将答案寄 =第一部分:基本技能请如实填写以下表格。 请根据自身情况如实填写。我们并不需要你什么都会,我们只是希望通过这样的问卷调查对你的基本技能

2、情况有所了解。数据库:ORACLEDB2INFORMIXSYBASEMYSQL开发了解熟悉精通管理维护了解熟悉精通操作系统:了解熟悉精通LINUXAIXHP-UXSolaris开发工程:了解熟悉精通WINCVSUMLRUPRationalRoseDELPHIVBJ2SE/J2EEC/C+ for unix(不含网络编程)C/C+ for unix网络编程PROC/C+OCI/OTL你最擅长的编译型开发语言是什么?列出你开发中常用的函数库;列出你熟悉的开发语言(编译型)的一些常见的编译错误。列举你所了解的比较著名的环境变量,并做简要说明(不限操作系统,越多越好)=第二部分:系统请在LINUX/U

3、NIX环境下使用BSH或者CSH写出shell script, 完成以下功能: 定期检测系统状况,判断系统当前的负荷和磁盘的使用情况;当cpu负荷超过90%或者磁盘空间使用率超过90%时,向系统管理员告警。请简要列举unix进程间通信的几种模式,并根据自己经验进行比较。注意:请不要摘抄查阅的资料=第三部分:网络在不同的OS中,存在着两种不同的主机字节序:big-endian和little-endian。请描述着两种数据存放方式的不同,并写一段小程序判断当前的OS使用的是哪种字节序;请描述主机字节序对网络字节序的影响。使用C+/JAVA编写一个最简单的网络客户端类,可以从指定的网络端口读取数据请

4、写出一段JS代码,实现以下功能:当前窗口打开页面后,在10秒后自动关闭,并在关闭时不进行确认提示框的询问。=第四部分:数据库在ORACLE sqlplus中执行以下SQL代码: select * from emp for update; insert into emp values (test, 123); commit; select * from emp; 请分析执行过程中数据库锁的处理情况。请写出一段pl/sql代码, 实现以下功能:对表A的更改操作进行实时监控,并将操作的类型和更改前的历史数据记录在表B中假设数据库中准备创建有一张有如下数据的表emp: EMP_ID NAME UNDE

5、R 1 CEO 0 2 CFO 1 3 CTO 1 4 F01 2 5 F02 2 6 T01 3 7 T02 3 8 T03 3 i ) 请给出建表以及插入数据的SQL语句(指明你所用的数据库) ii) 用C+或Java语言实现数据库的连接,查询emp表的所有记录 给出源代码、编译步骤、以及运行输出结果=第五部分:开发语言使用C+/JAVA编写一个函数,实现对一个字符串进行子字符串替换(String.replace)的功能。注意:请不要使用现成的字符串函数使用C+/JAVA编写一个小程序,实现unix shell内嵌命令echo的功能。请用C+/Java写一个Singleton出来。下面的C

6、程序在编译后运行会出现什么问题?请给出解释#include /* just a dummy */#define i_assert(something)int main( int argc, char *argv ) int a,b,c; int *pa; a = 3; b = 15; pa = &a; /* pa is a pointer point to the variable a */ c = b/*pa; /* so, c is the result of b divided by a */ i_assert( c = 5 ); printf( c = %dn, c ); return

7、 0;下面是一个new的重载函数:void* operator new(size_t size, size_t varying) throw (std:bad_alloc) return malloc(size + varying);请问如何调用这个重载函数?=第六部分:项目设计假设有一个开发小组需要实行Bug的跟踪管理, 现需要开发一套简易的B/S结构的Bug跟踪管理系统, 满足以下功能: . 该系统有几类用户: 经理 开发人员 测试人员 . 用户成功登陆之后才能使用系统功能 . 用户可以退出系统 . 测试人员可以向系统提交bug, 这个时候Bug属于未指派状态(注: 系统自动记录提交时间和

8、提交人)。每条bug要包含如下的信息: Bug所属的程序 程序版本号 Bug的标题 重现Bug的步骤 期望看到的情况 实际看到的情况 . 对未指派的bug, 经理有权指派某个开发人员负责Bug的处理 (系统自动把bug状态改成等待处理状态, 并自动把对应的开发人员记录为处理人) . 开发人员看到有指派给自己的等待处理的bug之后, 修改bug状态为处理中, 同时开始bug的处理 . 开发人员处理完成之后向系统提交处理方案(系统自动把bug的状态改成处理完成) . 处理完成的bug, 由相应的bug提交人验证处理方案的正确性. 若方案正确, 提交人选Bug已解决, 系统会把相应的bug改成已解决

9、状态 若方案不正确,提交人选bug未解决, 系统会把bug再次改成未指派状态 . 经理可以列出所有状态为未指派的bug, 把它们指派给开发人员处理 . 开发人员可以列出所有属于自已负责的等待处理的bug . 测试人员可以列出所有自己提交的处于处理完成的bug . 系统的所有的用户都可以按照以下条件列出相应的bug 提交时间, bug的状态, 提交人, 处理人 . 系统对用户管理功能不做要求 (密码修改/添加用户/删除用户等) . 所有的用户可以在系统数据初始化的时候生成 该开发小组人员组成: 经理 David 开发人员 John Thomas Tony 测试人员 James Lucy 要求:

10、. 简述你的实现方案 . 选用你最熟悉的数据库, 设计相关的数据表结构,给出建表以及初始化的SQL语句 . 给出你的实现代码(包括相关的源程序, 页面,图片等) . 给出你的系统的安装说明 (指出系统平台要求, 软件要求, 用到的外部函数库,代码如何编译, 如何部署, 如何配置让系统正确运行) . 用户使用说明(包括系统的url, 各用户的密码) . 给出文件清单请猜测下面这段代码片断出自什么项目? 给出项目名,说明你的依据,并尽你所能阐述该项目。 /* * Unescapes a URL. * Returns 0 on success, non-zero on error * Failure

11、 is due to * bad % escape returns HTTP_BAD_REQUEST * * decoding %00 - 0 (the null character) * decoding %2f - / (a special character) * returns HTTP_NOT_FOUND */ AP_DECLARE(int) ap_unescape_url(char *url) register int badesc, badpath; char *x, *y; badesc = 0; badpath = 0; /* Initial scan for first %

12、. Dont bother writing values before * seeing a % */ y = strchr(url, %); if (y = NULL) return OK; for (x = y; *y; +x, +y) if (*y != %) *x = *y; else if (!apr_isxdigit(*(y + 1) | !apr_isxdigit(*(y + 2) badesc = 1; *x = %; else *x = x2c(y + 1); y += 2; if (IS_SLASH(*x) | *x = 0) badpath = 1; *x = 0; if

13、 (badesc) return HTTP_BAD_REQUEST; else if (badpath) return HTTP_NOT_FOUND; else return OK; =第七部分:英语翻译请任选一段进行全文/节选翻译Section 1:If youve never used CVS (or any version control system) before, its easy to get tripped up by some of its underlying assumptions. What seems to cause the most initial confusi

14、on about CVS is that it is used for two apparently unrelated purposes: record keeping and collaboration. It turns out, however, that these two functions are closely connected. Record keeping became necessary because people wanted to compare a programs current state with how it was at some point in t

15、he past. For example, in the normal course of implementing a new feature, a developer may bring the program into a thoroughly broken state, where it will probably remain until the feature is mostly finished. Unfortunately, this is just the time when someone usually calls to report a bug in the last

16、publicly released version. To debug the problem (which may also exist in the current version of the sources), the program has to be brought back to a useable state. Restoring the state poses no difficulty if the source code history is kept under CVS. The developer can simply say, in effect, Give me

17、the program as it was three weeks ago, or perhaps Give me the program as it was at the time of our last public release. If youve never had this kind of convenient access to historical snapshots before, you may be surprised at how quickly you come to depend on it. Personally, I always use revision co

18、ntrol on my coding projects now - its saved me many times. To understand what this has to do with facilitating collaboration, well need to take a closer look at the mechanism that CVS provides to help numerous people work on the same project. But before we do that, lets take a look at a mechanism th

19、at CVS doesnt provide (or at least, doesnt encourage): file locking. If youve used other version control systems, you may be familiar with the lock-modify-unlock development model, wherein a developer first obtains exclusive write access (a lock) to the file to be edited, makes the changes, and then

20、 releases the lock to allow other developers access to the file. If someone else already has a lock on the file, they have to release it before you can lock it and start making changes (or, in some implementations, you may steal their lock, but that is often an unpleasant surprise for them and not g

21、ood practice!). This system is workable if the developers know each other, know whos planning to do what at any given time, and can communicate with each other quickly if someone cannot work because of access contention. However, if the developer group becomes too large or too spread out, dealing wi

22、th all the locking issues begins to chip away at coding time; it becomes a constant hassle that can discourage people from getting real work done. CVS takes a more mellow approach. Rather than requiring that developers coordinate with each other to avoid conflicts, CVS enables developers to edit sim

23、ultaneously, assumes the burden of integrating all the changes, and keeps track of any conflicts. This process uses the copy-modify-merge model, which works as follows: Developer A requests a working copy (a directory tree containing the files that make up the project) from CVS. This is also known a

24、s checking out a working copy, like checking a book out of the library. Developer A edits freely in her working copy. At the same time, other developers may be busy in their own working copies. Because these are all separate copies, there is no interference - it is as though all of the developers ha

25、ve their own copy of the same library book, and theyre all at work scribbling comments in the margins or rewriting certain pages independently. Developer A finishes her changes and commits them into CVS along with a log message, which is a comment explaining the nature and purpose of the changes. Th

26、is is like informing the library of what changes she made to the book and why. The library then incorporates these changes into a master copy, where they are recorded for all time. Meanwhile, other developers can have CVS query the library to see if the master copy has changed recently. If it has, C

27、VS automatically updates their working copies. (This part is magical and wonderful, and I hope you appreciate it. Imagine how different the world would be if real books worked this way!) As far as CVS is concerned, all developers on a project are equal. Deciding when to update or when to commit is l

28、argely a matter of personal preference or project policy. One common strategy for coding projects is to always update before commencing work on a major change and to commit only when the changes are complete and tested so that the master copy is always in a runnable state.Section 2:MySQL, the most p

29、opular Open Source SQL database, is provided by MySQL AB. MySQL AB is a commercial company that builds its business providing services around the MySQL database. See section 1.1.2 What Is MySQL AB. MySQL is a database management system. A database is a structured collection of data. It may be anythi

30、ng from a simple shopping list to a picture gallery or the vast amounts of information in a corporate network. To add, access, and process data stored in a computer database, you need a database management system such as MySQL. Since computers are very good at handling large amounts of data, databas

31、e management plays a central role in computing, as stand-alone utilities, or as parts of other applications. MySQL is a relational database management system. A relational database stores data in separate tables rather than putting all the data in one big storeroom. This adds speed and flexibility.

32、The tables are linked by defined relations making it possible to combine data from several tables on request. The SQL part of MySQL stands for Structured Query Language - the most common standardized language used to access databases. MySQL is Open Source Software. Open Source means that it is possi

33、ble for anyone to use and modify. Anybody can download MySQL from the Internet and use it without paying anything. Anybody so inclined can study the source code and change it to fit their needs. MySQL uses the GPL (GNU General Public License) , to define what you may and may not do with the software

34、 in different situations. If you feel uncomfortable with the GPL or need to embed MySQL into a commercial application you can buy a commercially licensed version from us. Why use MySQL? MySQL is very fast, reliable, and easy to use. If that is what you are looking for, you should give it a try. MySQ

35、L also has a very practical set of features developed in very close cooperation with our users. You can find a performance comparison of MySQL to some other database managers on our benchmark page. See section 5.1.4 The MySQL Benchmark Suite. MySQL was originally developed to handle very large datab

36、ases much faster than existing solutions and has been successfully used in highly demanding production environments for several years. Though under constant development, MySQL today offers a rich and very useful set of functions. The connectivity, speed, and security make MySQL highly suited for acc

37、essing databases on the Internet. The technical features of MySQL For advanced technical information, see section 6 MySQL Language Reference. MySQL is a client/server system that consists of a multi-threaded SQL server that supports different backends, several different client programs and libraries

38、, administrative tools, and several programming interfaces. We also provide MySQL as a multi-threaded library which you can link into your application to get a smaller, faster, easier to manage product. MySQL has a lot of contributed software available. It is very likely that you will find that your

39、 favorite application or language already supports MySQL. The official way to pronounce MySQL is My Ess Que Ell (not MY-SEQUEL). But we try to avoid correcting people who say MY-SEQUEL.Section 3:Since its publication in 1982, RFC 822 has defined the standard format of textual mail messages on the In

40、ternet. Its success has been such that the RFC 822 format has been adopted, wholly or partially, well beyond the confines of the Internet and the Internet SMTP transport defined by RFC 821. As the format has seen wider use, a number of limitations have proven increasingly restrictive for the user co

41、mmunity. RFC 822 was intended to specify a format for text messages. As such, non-text messages, such as multimedia messages that might include audio or images, are simply not mentioned. Even in the case of text, however, RFC 822 is inadequate for the needs of mail users whose languages require the

42、use of character sets richer than US-ASCII. Since RFC 822 does not specify mechanisms for mail containing audio, video, Asian language text, or even text in most European languages, additional specifications are needed. One of the notable limitations of RFC 821/822 based mail systems is the fact tha

43、t they limit the contents of electronic mail messages to relatively short lines (e.g. 1000 characters or less RFC-821) of 7bit US-ASCII. This forces users to convert any non-textual data that they may wish to send into seven-bit bytes representable as printable US-ASCII characters before invoking a

44、local mail UA (User Agent, a program with which human users send and receive mail). Examples of such encodings currently used in the Internet include pure hexadecimal, uuencode, the 3-in-4 base 64 scheme specified in RFC 1421, the Andrew Toolkit Representation ATK, and many others. The limitations o

45、f RFC 822 mail become even more apparent as gateways are designed to allow for the exchange of mail messages between RFC 822 hosts and X.400 hosts. X.400 X400 specifies mechanisms for the inclusion of non-textual material within electronic mail messages. The current standards for the mapping of X.40

46、0 messages to RFC 822 messages specify either that X.400 non-textual material must be converted to (not encoded in) IA5Text format, or that they must be discarded, notifying the RFC 822 user that discarding has occurred. This is clearly undesirable, as information that a user may wish to receive is

47、lost. Even though a user agent may not have the capability of dealing with the non-textual material, the user might have some mechanism external to the UA that can extract useful information from the material. Moreover, it does not allow for the fact that the message may eventually be gatewayed back

48、 into an X.400 message handling system (i.e., the X.400 message is tunneled through Internet mail), where the non-textual information would definitely become useful again. This document describes several mechanisms that combine to solve most of these problems without introducing any serious incompat

49、ibilities with the existing world of RFC 822 mail. In particular, it describes: (1) A MIME-Version header field, which uses a version number to declare a message to be conformant with MIME and allows mail processing agents to distinguish between such messages and those generated by older or non-conf

50、ormant software, which are presumed to lack such a field. (2) A Content-Type header field, generalized from RFC 1049, which can be used to specify the media type and subtype of data in the body of a message and to fully specify the native representation (canonical form) of such data. (3) A Content-Transfer-Encoding header field, which can be used to specify both the encoding transformation that was applied to the body and the domain of the result.

温馨提示

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

评论

0/150

提交评论