面试题

XX软件工程师笔试试题
注:1、请参考人员将答案写在答题纸上,勿将答案写在此卷上。
2、请参考人员将编号与姓名填写在答题纸上。


1、 以下数据结构中不属于线性数据结构的是()。
A、队列   B、线性表   C、二叉树  D、栈
我的答案:C

2、 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是()。
A、 可行性分析  B、需求分析  C、详细设计  D、程序编码
我的答案:B

3、 结构化程序设计主要强调的是()。
A、 程序的规模  B、程序的易读性  C、程序的执行效率  D、程序的可移植性
我的答案:C

4、 在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段()。
A、 概要设计  B、详细设计  C、可行性分析  D、需求分析
我的答案:B

5、 下列关于栈的叙述中正确的是()。
A、 在栈中只能插入数据  B、在栈中只能删除数据
B、 栈是先进先出的线性表  D、栈是先进后出的线性表
我的答案:D

6、 下面不属于软件设计原则的是()。
A、 抽象  B、模块化  C、自底向上  D、信息隐蔽
我的答案:C

7、 对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为()。
A、 N+1  B、N  C、(N+1)/2  D、N/2
我的答案:C

8、 视图设计一般有3种设计次序,下列不属于视图设计的是()。
A、 自顶向下  B、由外向内  C、由内向外  D、自底向上
我的答案:C

9、下列有关数据库的描述,正确的是()。
A、数据库是一个DBF文件  B、数据库是一个关系
C、数据库是一个结构化的数据集合  D、数据库是一组文件
我的答案:C

10、下列说法中,不属于数据模型所描述的内容的是()。
A、数据结构  B、数据操作  C、数据查询  D、数据约束
我的答案:A

11、若按功能划分,软件测试的方法通常分为白盒测试方法和(黑盒测试方法)。

12、数据库系统的三级模式分别为(级联)模式、内部级模式与外部级模式。

13、在最坏情况下,冒泡排序的时间复杂度为(N+1/2)。

14、在面向对象方法中,信息隐蔽是通过对象的(封装)性来实现的。

15、关系模型的数据操纵既是建立在关系上的数据操纵,一般有(插入)、增加、删除、和修改四种操作。

16、TIME()的返回值的数据类型是(String)类型。

17、编写SQL语句
  1)、创建一张学生表,包含以下信息,学号,姓名,年龄,性别,家庭住址,联系电话
  我的答案:
  create table student(
  studentCardNo number(2) primary key,
  name char(10),
  age number(2),
  sex char(2) check(sex in (‘男’,’女’)),
  address varchar2(100),
  tel number(2)
  )

  2)、修改学生表的结构,添加一列信息,学历
  我的答案:
  alter table student add(xueli varchar2(20));

  3)、修改学生表的结构,删除一列信息,家庭住址
  我的答案:
  alter table student drop column address;

  4)、向学生表添加如下信息:
      学号  姓名  年龄  性别  联系电话  学历
        1    A     22    男    123456   小学
        2    B     21    男     119     中学
        3    C     23    男     110     高中
        4    D     18    女     114     大学
   我的答案:
   insert into student values(‘&1’,’&2’,’&3’);
   一次一次添加

  5)修改学生表的数据,将电话号码以11开头的学员的学历改为“大专”
   我的答案:
   update student set xueli=”大专” where tel like 11%;

  6)删除学生表的数据,姓名以C开头,性别为‘男’的记录删除
   我的答案:
   delete student where name like C% or sex=”男”;
  7)查询学生表的数据,将所有年龄小于22岁的,学历为“大专”的,学生的姓名和学号显示出来
   我的答案:
   select name,studentCardNo from student where age<22 and xueli=”大专”;
 查询学生表的数据,查询所有信息,列出前25%的记录
   我的答案:
   select top*0.25 from student;
  9)查询出所有学生的姓名,性别,年龄降序排列
   我的答案:
   select name,sex,age from student where age desc;
  10)按照性别分组查询所有的平均年龄
   我的答案:
   select avg(age) from student group by sex;

18、什么是存储过程?为什么存储过程要比单纯的SQL语句执行起来要快?
   我的答案:
   存储过程算是一种优化查询需要比单存SQL语句执行的要快
19、两张关联表,删除主表中已经在副表中没有的信息
我的答案
   delete from  fubiao a where a.fid not in(select id from zhubiao)
20、程序题:
用1、2、2、3、4、5这六个数字,用java或你熟悉的语言,打印出所有不同的排列,如:512234、412345等,要求:“4”不能再第三位,“3”与“5”不能相连。并将这些数据按从小到大输出。
我的答案
   我的写的不好 没贴下  笔试的时候没写全
21、String 和 StringBuffer的区别
我的答案
    String定长 StringBuffer 变长
22、&和&&的区别
我的答案
  &短路与 &&逻辑与
网上答案:
& 是位运算符,表示按位与运算,
  && 是逻辑运算符,表示逻辑与(and)。
23、final,finally,finalize的区别
我的答案
Final静变量关键字,finally异常关键字,finalize
网上答案
final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。
  finally是异常处理语句结构的一部分,表示总是执行。
  finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,
  可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。
24、数组有没有length()这个方法?String有没有length()这个方法?
我的答案:
数组没有length()这个方法,有length的属性。
String有length()这个方法。
25、是否可以继承String类?
我的答案:
不可以  解释的很乱
26、说出数据连接池的工作机制是什么?
我的答案:
反正解释的很乱我感觉
27、垃圾回收的优点和原理。并考虑2种回收机制。
    我的答案:
动态回收  解释的很乱
网上答案:
Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,
  它使得Java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java中的对象不再有"作用域"的概念,
  只有对象的引用才有"作用域"。垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。
  垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有
  使用的对象进行清除和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。
  回收机制有分代复制垃圾回收和标记垃圾回收,增量垃圾回收。 
 
28、你所知道的集合类都有哪些?区别?主要方法?
    我的答案:
    Arraylist 非线性的、Vertor线性的
29、JSP的内置对象及方法。
    我的答案:
    Page,exception,out,page content,application,request,reponse,session,config
30、页面间对象传递的方法。
我的答案:
那几个方法都写错了
31、你知道Request对象的主要方法有哪些?
   
32、J2EE是技术还是平台还是框架?
    我的答案:
J2EE是技术也是平台
网上答案:
J2EE本身是一个标准,一个为企业分布式应用的开发提供的标准平台。
J2EE也是一个框架,包括JDBC、JNDI、RMI、JMS、EJB、JTA等技术。
33、我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种(例如GBK编码类型)编码的字符串?
   Request encording(“GBK”)
34、j2ee常用的设计模式?说明工厂模式。
Gof23种设计模式
工厂模式:Factory
网上答案:
Java中的23种设计模式:
    Factory(工厂模式),      Builder(建造模式),       Factory Method(工厂方法模式),
    Prototype(原始模型模式),Singleton(单例模式),    Facade(门面模式),
    Adapter(适配器模式),    Bridge(桥梁模式),        Composite(合成模式),
    Decorator(装饰模式),    Flyweight(享元模式),     Proxy(代理模式),
    Command(命令模式),      Interpreter(解释器模式), Visitor(访问者模式),
    Iterator(迭代子模式),   Mediator(调停者模式),    Memento(备忘录模式),
    Observer(观察者模式),   State(状态模式),         Strategy(策略模式),
    Template Method(模板方法模式), Chain Of Responsibleity(责任链模式)
  工厂模式:工厂模式是一种经常被使用到的模式,根据工厂模式实现的类可以根据提供的数据生成一组类中某一个类的实例,
  通常这一组类有一个公共的抽象父类并且实现了相同的方法,但是这些方法针对不同的数据进行了不同的操作。
  首先需要定义一个基类,该类的子类通过不同的方法实现了基类中的方法。
  然后需要定义一个工厂类,工厂类可以根据条件生成不同的子类实例。
  当得到子类的实例后,开发人员可以调用基类中的方法而不必考虑到底返回的是哪一个子类的实例。
35、JSP四种会话跟踪技术
    我的答案:
    Application  cookie  session
36、排序都有哪几种方法?请举例
冒泡 选择 快序 二分查找
网上答案:
排序的方法有:插入排序(直接插入排序、希尔排序),
                交换排序(冒泡排序、快速排序),
                选择排序(直接选择排序、堆排序),
                归并排序,分配排序(箱排序、基数排序)
  快速排序的伪代码。
    //使用快速排序方法对a[ 0 :n- 1 ]排序
    从a[ 0 :n- 1 ]中选择一个元素作为m i d d l e,该元素为支点
   把余下的元素分割为两段left 和r i g h t,使得l e f t中的元素都小于等于支点,而right 中的元素都大于等于支点
   递归地使用快速排序方法对left 进行排序
   递归地使用快速排序方法对right 进行排序
   所得结果为l e f t + m i d d l e + r i g h t
37、关于模块间的设计原则?
    规范要一样
38、项目过程一般是怎样的?你参加过几个项目开发?参加过的项目流程是怎样的?自己负责与人合作工作内容及自我评价?
   从需求调研——设计开发——实施
参加过网站的实施 模板的制作
39、tomcat自动关闭常见原因?
我的答案:
现在没遇到过
40、如何设置TOMCAT内存和连接数?
    我的答案:
    Tomcat群集
41、你如何理解Tomcat是什么?
    我的答案:
    Tomcat是JSP Servlet 容器恰当的说
42、静态变量和实例变量的区别?
    我的答案:
    静态变量域用final修饰,每次都被调用 实例变量则不会
43、IE、FF下面CSS的解释区别
    我的答案:
    自己编的
44、web前端技术你了解哪些技术?
    我的答案:
    JAVAScript,CSS,DIV,Ajax,Ajax框架,DWR,dojo,jguery
45、什么是报表?什么是报表控件,作用是什么?你了解哪些报表工具?
    我的答案:
    解释的很乱
46、你了解的那些统计图表类型?
    我的答案:
    自己编的
47、Flex与数据库连接的三种方式?
    我的答案:
    自己编的

你可能感兴趣的:(设计模式,数据结构,tomcat,c,面试)