《软件开发工程师笔试题.docx》由会员分享,可在线阅读,更多相关《软件开发工程师笔试题.docx(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 软件开发工程师笔试题 1、试分析下面的SQL语句的优劣,并用另外的方法实现。 (1) Select * from empe where e.No in (select a. No from amp a ) Select * from empe e where NOT EXISTS (Select a.No from amp a where e.NO=a.No) (2) select * from emp e, anp a where e. No=a. No 2、用Decoole 重写下面的socl 语句 SELECT COUNT(*),SUM(SAL) FROM EMP WHERE DEPT
2、_NO = 0020 AND ENAME LIKESMITH%; select count(*),sum(sal) from emp where dept_no = 0030 and ename likesmith%; select count(decode(dept_no,0020,x,null) d0020_count, count(decode(dept_no,0030,x,null) d0030_count, sum(decode(dept_no,0020,sal,0) d0020_sal, sum(decode(dept_no,0030,sal,0) d0030_sal from e
3、mp where ename like smith%; 3、下面哪几种SQL不好。2,4,5 (1) update 语句 (2)in语句 (3)子查询 (4)多查等值查询 (5)笛卡尔乘积 4、请造出以下哪3种命名正确 A,B,D A、ASD B、$abc C、const D、_asd E、3_asd 5、texarea java (1)写出文件名 (2)补充代码 6、型转换 example: public String getValue(Object a,Object b) 当以下方法调用时将消失何种特别,如何修正 String c=new String(“aaa”); int d =123
4、; my.getValue(c,d); (1) Integer d=new Integer(123); (2) My.getValue(c,(String)d); 7、在JSP上显示Araylist中的元素 % page contentType=”text/html; charset=GBK” % % page import = “java.util.ArrayList”% % ArrayList al = request.getAttribute(“arraylist”); % % for(int i=0;i % % % 序号姓名%=i%=al.get(i)% 8、解释 beam:远程接口的
5、详细实现 Home:治理和创立远程对象 Romate:供应给用户的远程接口 9、解释Javabean与EJB的区分 10、SeSSon bean与Entitybean区分 11、解释Commend、DAO模式,试举例说明。 Command定义 不少Command模式的代码都是针对图形界面的,它实际就是菜单命令,我们在一个下拉菜单项选择择一个命令时,然后会执行一些动作,将这些命令封装成在一个类中,然后用户(调用者)再对这个类进展操作,这就是Command模式,换句话说,原来用户(调用者)是直接调用这些命令的,如菜单上翻开文档(调用者),就直接指向翻开文档的代码,使用Command模式,就是在这两
6、者之间增加一个中间者,将这种直接关系拗断,同时两者之间都隔离,根本没有关系了. 明显这样做的好处是符合封装的特性,降低耦合度,Command是将对行为进展封装的典型模式,Factory是将创立进展封装的模式, 从Command模式,我也发觉设计模式一个”通病”:好象喜爱将简洁的问题简单化, 喜爱在不同类中增加第三者,固然这样做有利于代码的强健性 可维护性 还有复用性. 如何使用 详细的Command模式代码各式各样,由于如何封装命令,不同系统,有不同的做法.下面事例是将命令封装在一个Collection的List中,任何对象一旦参加List中,实际上装入了一个封闭的黑盒中,对象的特性消逝了,只
7、有取出时,才有可能模糊的辨别出: 典型的Command模式需要有一个接口.接口中有一个统一的方法,这就是”将命令/恳求封装为对象”: 程序代码: public interface Command public abstract void execute ( ); /详细不同命令/恳求代码是实现接口Command,下面有三个详细命令 程序代码: public class Engineer implements Command public void execute( ) /do Engineers command public class Programmer implements Comman
8、d public void execute( ) /do programmers command public class Politician implements Command public void execute( ) /do Politicians command 根据通常做法,我们就可以直接调用这三个Command,但是使用Command模式,我们要将他们封装起来,扔到黑盒子List里去: 程序代码: public class producer public static List produceRequests() List queue = new ArrayList(); q
9、ueue.add( new DomesticEngineer() ); queue.add( new Politician() ); queue.add( new Programmer() ); return queue; 这三个命令进入List中后,已经失去了其外表特征,以后再取出,也可能无法辨别出谁是Engineer 谁是Programmer了,看下面如何调用Command模式: 程序代码: public class TestCommand public static void main(String args) List queue = Producer.produceRequests(); for (Iterator it = queue.iterator(); it.hasNext(); ) /取出List中东东,其他特征都不能确定,只能保证一个特征是100%正确,/ 他们至少是接口Command的”儿子”.所以强制转换类型为接口 Command(Command)it.next().execute(); DAO: 由此可见,调用者根本只和接口打交道,不合详细实现交互,这也表达了一个原则,面对接口编程,这样,以后增加第四个详细命令时,就不必修改调用者TestCommand中的代码了. 【软件开发工程师笔试题】
限制150内