发表于: arch/management | 作者: | 日期: 2008/11/03 08:11
标签:

UML语言的概述:

1:UML统一建模语言( Unified Modeling Language ),用于商业建模,软件开发建模,及各类系统的建模。建模很符合人类思维的方式,先把具体的东西抽象化,再把抽象的东西转化为另一类具体的东西。 More …

评论关闭
发表于: java/j2ee | 作者: | 日期: 2008/11/03 08:11
标签:

9:JAVA解析XML的方式?
答:SAX、DOM

11:用JAVA实现一种排序 ,比较,JAVA类实现序列化的方法(二种)?
如在COLLECTION框架中,实现比较要实现什么样的接口。

14.设计模式与UML方面。
如工厂模式,解决多数据库支持问题。
15。 编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”。

16。在ORACLE大数据量下的分页解决方法。 一般用截取ID方法,还有是三层嵌套方法。

17。WEB SERVICE名词解释。JSWDL开发包的介绍。JAXP、JAXM的解释。SOAP、UDDI解释。

18。BS与CS的联系与区别。

20。JAVA多线程编程。

用JAVA写一个多线程程序,如写四个线程,二个加1,二个对一个变量减一,输出。

21。JAVA的基本功: STRING与STRINGBUFFER的区别。

22。STRUTS的应用(如STRUTS架构)

2. 字符串的操作:
写一个方法,实现字符串的反转,如:输入abc,输出cba
public static String reverse(String s){
int length=s.length();
StringBuffer result=new StringBuffer(length);
for(int i=length-1;i>=0;i–)
result.append(s.charAt(i));
return result.toString();
}
写一个方法,实现字符串的替换,如:输入bbbwlirbbb,输出bbbhhtccc。
3. 数据类型之间的转换
如何将数值型字符转换为数字(Integer,Double)
如何将数字转换为字符
如何去小数点前两位,并四舍五入。
4. 日期和时间
如何取得年月日,小时分秒
Date dat=new Date();
dat.getYear();dat.getMonth();dat.getDay();dat.getHours();…
如何取得从1970年到现在的毫秒数
long now=dat.getTime();
如何获取某个日期是当月的最后一天
如何格式化日期
DateFormate df=DateFormate.getInstance();
df.Format(dat);
5. 数组和集合
6. 文件和目录(I/O)操作
如何列出某个目录下的所有文件
如何列出某个目录下的所有子目录
判断一个文件或目录是否存在
如何读写文件
7. Java多态的实现(继承、重载、覆盖)
8. 编码转换,怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串。
9. Java中访问数据库的步骤,Statement和PreparedStatement之间的区别。
10. 找出下列代码可能存在的错误,并说明原因:

三、J2EE相关知识
1. 介绍J2EE、J2SE、J2SE的区别。
2. J2EE是一种技术还是一种平台,他提供了那些技术。
3. 什么是Application Server,它有什么功能和优点。
4. 简单介绍连接池的优点和原理。
5. Web.xml的作用
四、其他
1. Web安全性的考虑(表单验证、浏览器Basic方式的验证,应用程序的安全性,SSL,代码考虑)
2. 简单介绍您所了解的MVC。
3. 简单介绍所了解的XML。
4. 文档和编码规范
5. Java中的分页、效率考虑。
6. 简单介绍您所了解的structs。

找出以下程序错误。
Class Test{
private String par1;
private String par2;
Test(){
}

public static void main(String[] arg){
int a ;
if(a){
System.out.println(“par1=”+par1);
}else{
System.out.println(“par2=” + par2);
}
}
}

Servlet的生命周期问题参见:
1:良葛格學習筆記 http://caterpillar.onlyfun.net/Gossip/JSPServlet/ServletLifeTime.htm
2: Sun的官方教程 http://gceclub.sun.com.cn/staticcontent/html/webservices/web_services_tutorial/jst.14/14.1.htm

简述HttpSession的作用、使用方法,可以用代码说明。(时间3分钟)

请画出Servlet 2.2以上Web Application的基本目录结构(时间2分钟)

谈谈你对三层结构的理解(时间5分钟)

五、名词解释写出全称并简要说明(12分钟)
a)EJB
b)JNDI
c)MVC
d)UML
e)LDAP
f)SOAP

六、程序设计,写出一个Servlet,实现以下功能:已知数据源的JNDI地址为jdbc/db2DataSource,请用这个名字获得数据库连接,
执行SQL:”SELECT A,B FROM MYTALBE”,把执行结果输出到文本文件”out.txt”中,并将请求转发到”/application/test.jsp”。(6分钟)

1.Applet与servlet如何通信;
Applet应该是一种不常用的技术了,所以Applet与servlet的通信我不太清楚,但客户端与servlet的通信基于以下模型:
客户端请求–〉web容器--〉servlet容器--〉servlet

2.JSP标签的作用?如何定义
(1)定义标签类
(2)配置标签类
(3)声明引用
(4)使用标签

3.如何解决界面友好和操作简便:
你要问人机界面的设计?这是一个比较的论题,我谈一下我自己的认识。我感觉有以下几点可以参考:
(1)界面设计要一致,windows系统之所以这么流行,跟它一直得用户界面不无关系,它有着一致的菜单栏、一致的工具栏,
用户使用任何windows下的应用程序都会很快上手,至少不会因为界面问题而卡住,这一点很值得学习。
(2)界面必须使用户随时掌握任务的进展情况
(3)界面必须能够提供帮助
(4)宁可让程序多干,不可让用户多干
(5)具有较强的容错功能

4.有一个3*4的table如何在一个表格中按回车键跳到下一个表格中;

5.EJB的事物是如何实现的?何时进行回滚;

6.根据你的开发经验,说说你是如何对你的系统进行J2EE设计模式的。何谓J2EE设计模式,如何应用?

7.用JAVA实现一个数据连结池。

达内学员提供的面试题

冯健诚:达内SD0407毕业学员
目前就职于:中国银行下属的软件部门做软件开发工作。

冯健诚:首先先谢谢达内的老师在前面的五个月里给我的帮助,使得我能顺利的找到工作.
下面是我遇到的一些面试的题目,希望对学第,学妹能有帮助.

3,替换一个index.html文件中的”&lt”替换成”<","&gt"替换成">“,并还保存成原文件名

4,写程序算出3的300次方除以7余几。(程序写不出来的话,可以谈谈算法)

还有其他一部分题目,说几点自己感觉要注意的好了
1,char ch = …;
然后在if的时候写成了 if(ch > “A”) //这个里的”A”应该用单引号

java:
1,写一个函数打印出1-100之间所有的素数
2,说说struts是怎么体现mvc的
3,谈谈一些你了解的设计模式
祝工作顺利^^!

在此感谢冯健诚学员还惦记这达内在校的学第学妹们,同时也恭喜他找到了自己满意的工作。

评论关闭
发表于: java/j2ee | 作者: | 日期: 2008/11/03 08:11
标签:

1、表user有字段(ID, 姓名, 部门编号),ID是主键; 表department有字段(部门编号, 部门名称),部门编号是主键。表user 与表department是N-1的关系,也就是说一个user一定属于唯一的一个部门,一个部门可以有多个人员。
a.请写出一个SQL语句,查询出user表中所有人员的(ID,姓名,部门名称)。
b.如果希望一次性插入一个user(‘001’, ‘tom’,’101’)记录,和他所属的department(‘101’, ‘Develop Dept.’),要么全失败,要么全成功,应该怎么做呢?(只需要写出示意性的语句就可以了)
a:
SELECT u.id , u.name , d.name FROM user AS u , department AS d WHERE u. departmentid = d.id;

b:
SET AUTOCOMMIT = 0;
BEGIN;
INSERT INTO user VALUES(‘001’, ‘tom’, ‘101’);
INSERT INTO department VALUES(‘101’, ‘Develop Dept’);
COMMIT;
失败的话:
ROLLBACK;

2、请简单解释一下DTD在XML语言中的主要作用,以及SOAP协议的用途。

DTD是Document type Definition(文档类型定义)的缩写,它规定了XML文档的构建方式。

SOAP的全称是Simple Object Access Protocol,即简单对象访问协议。SOAP是在分散或分布的环境中交换信息的简单协议,他以XML作为数据传送的方式。SOAP对于实现基于Web的无缝集成系统发挥着非常重要的作用。SOAP有助于实现松散耦合的、跨平台的、于语言无关的、与特定接口无关的分布式系统。

3、尽管SQL92标准已经被公认为标准的SQL语言规范,但是通常不同数据库服务器所能够接受的SQL语句都会有一些区别。假如一套软件需要支持多种不同的数据库,而源代码中的SQL语句只希望有一套,从学过的课程,你会联想到什么解决方法呢?(简单叙述一下思路)

对于大部分的应用系统来说,SQL92标准已经够用了,很多时候我们只是使用这些数据库之间功能的公共子集。对于复杂的应用系统可以采用类似Hibernate的做法,提供一套自定义的SQL文法,然后将其转换为不同数据库特定的SQL。这样在业务逻辑层上只有一套多数据库共用的’SQL’语句。或者直接采用Hibernate,使用其所提供的HQL,这样多数据库可以共用一套HQL语句。

4、假如有集合A、B,A与B之间为一一影射关系,并且这一影射是无固定规律的。现在需要在程序中每当给定A中的一个元素时,迅速的找到B中对应的一个元素。你认为选择什么样的数据结构比较合适呢?(不需要写程序)
Map

5、在一个汽车模拟游戏中,各种不同汽车由于性能参数不同,在同一个跑道上奔跑时姿态的算法各不相同。当你用C++语言设计这个程序时,会想到利用C++的什么特性呢?

函数重载。

以下编程题目如无特殊要求,可以使用JAVA、C、C++、C#、PASCAL语言。
6、写出一个函数,将人民币的小写数字,转换成大写。
如:2084.52 —》贰仟零八十四圆五角贰分
要求考虑全面,算法精练,书写规范。

public static String moneyConvert(double input) {
String[] faceVal = new String[] { “零”, “壹”, “贰”, “叁”, “肆”, “伍”, “陆”, “柒”, “捌”, “玖” };
String[] level = new String[] { “圆”, “拾”, “佰”, “仟”, “萬”, “亿” };

String[] parts = String.valueOf(input).split(“\\.”);
String faceInt = new StringBuffer(parts[0]).reverse().toString();
StringBuffer tempSb = new StringBuffer();
for (int i = 0; i < faceInt.length(); i++) { tempSb.append(faceVal[Integer.valueOf(faceInt.substring(i, i + 1)).intValue()]); } faceInt = tempSb.toString(); String faceDecimal = parts[1]; StringBuffer resultSb = new StringBuffer(); for (int i = 0; i < faceInt.length(); i++) { if (i == 0) { resultSb.append(level[0]); } else { if ((i + 4) % 8 == 0) { resultSb.append(level[4]); } else if (i % 8 == 0) { resultSb.append(level[5]); } else { resultSb.append(level[i % 4]); } } String temp = faceInt.substring(i, i + 1); resultSb.append(temp); } String result = resultSb.reverse().toString(); if(faceDecimal.equals("00")){ return result+"整"; }else{ return result+ faceVal[Integer.parseInt(faceDecimal.substring(0,1))]+"角"+ faceVal[Integer.parseInt(faceDecimal.substring(1,2))]+"分"; } } 7. 写出一个函数将给定的一个数字串补足成10位长度,如: 567 —》 0000000567 23456 —》 0000023456 要求写出一个耗费CPU时间片较少的算法和一个耗费内存资源较少的算法。 /** * 耗费时间片较少 */ public static String fillString(long input){ String inputStr = String.valueOf(input); if(inputStr.length() > 10){
return “”;
}
if(inputStr.length() == 10){
return String.valueOf(input);
}

char[] retValue = new char[10];
for(int i = 0; i < 10; i++){ retValue[i] = '0'; } int temp = inputStr.length() - 1; for(int i = 9; i >= 10 – inputStr.length(); i– ){
retValue[i] = inputStr.charAt(temp–);
}
return new String(retValue);
}

/**
* 耗费内存较少
*/
public static String fillString2(long input){
if(input > 9999999999L){
return “”;
}
if(input >= 1000000000L && input <= 9999999999L){ return String.valueOf(input); } long tempValue = 1000000000L + input; StringBuilder retValue = new StringBuilder(String.valueOf(tempValue)); retValue.replace(0,1,"0"); return retValue.toString(); }

评论关闭
发表于: arch/management | 作者: | 日期: 2008/11/03 08:11

面向对象的编程(OOP)能使现实世界中的概念在计算机程序中变成模块。它包括构造程序的特征以及组织数据和算法的机制。OOP语言有三个特征:封装、多态性及继承。所有这些特征与类的概念是息息相关的。 More …

评论关闭
发表于: lnmp | 作者: | 日期: 2008/11/03 08:11
标签:

blog美化工具集锦
工具类型
1、blog天气预报
http://www.blogweather.net/WeatherHelper.aspx

blogweather是一个在blog上显示所在天气的wedget

2、blog漂流瓶

3、blog文内注释
http://linebuzz.com/getBuzzd/
选中文本就可以对发表注释。

4、blog网页聊天
http://www.cbox.ws/

首页

5、微型blog

7、在播音乐

8、

9、blog日历
http://blog.sina.com.cn/s/reader_4a36e6fe010008nx.html

10 blog广告
http://www.bloggerads.net/

美化类型

评论关闭
发表于: java/j2ee | 作者: | 日期: 2008/11/03 08:11

总结了一下java.util.Random类的使用。 More …

评论关闭
发表于: java/j2ee | 作者: | 日期: 2008/11/03 08:11
标签:

第十八,error和exception有什么区别?
error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。
exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。

第二十,abstract class和interface有什么区别?
声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。
接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义static final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口。

第二十一,abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?
都不能

第二十二,接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?
接口可以继承接口。抽象类可以实现(implements)接口,抽象类是否可继承实体类,但前提是实体类必须有明确的构造函数。

第二十三,启动一个线程是用run()还是start()?
启动一个线程是调用start()方法,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由JVM调度并执行。这并不意味着线程就会立即运行。run()方法可以产生必须退出的标志来停止一个线程。

构造器Constructor是否可被override?
构造器Constructor不能被继承,因此不能重写Overriding,但可以被重载Overloading。

第二十六,当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?
不能,一个对象的一个synchronized方法只能由一个线程访问。

第二十八,编程题: 用最有效率的方法算出2乘以8等於几?
有C背景的程序员特别喜欢问这种问题。

2 << 3 第二十九,两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对? 不对,有相同的hash code。 第三十,当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 是值传递。Java 编程语言只由值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是对该对象的引用。对象的内容可以在被调用的方法中改变,但对象的引用是永远不会改变的。 第三十一,swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上? switch(expr1)中,expr1是一个整数表达式。因此传递给 switch 和 case 语句的参数应该是 int、 short、 char 或者 byte。long,string 都不能作用于swtich。 第三十二,编程题: 写一个Singleton出来。 Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。 一般Singleton模式通常有几种种形式: 第一种形式: 定义一个类,它的构造函数为private的,它有一个static的private的该类变量,在类初始化时实例话,通过一个public的getInstance方法获取对它的引用,继而调用其中的方法。 public class Singleton {   private Singleton(){}   //在自己内部定义自己一个实例,是不是很奇怪?   //注意这是private 只供内部调用   private static Singleton instance = new Singleton();   //这里提供了一个供外部访问本class的静态方法,可以直接访问     public static Singleton getInstance() {     return instance;       } } 第二种形式: public class Singleton {   private static Singleton instance = null;   public static synchronized Singleton getInstance() {   //这个方法比上面有所改进,不用每次都进行生成对象,只是第一次        //使用时生成实例,提高了效率!   if (instance==null)     instance=new Singleton(); return instance;   } } 其他形式: 定义一个类,它的构造函数为private的,所有方法为static的。 一般认为第一种形式要更加安全些 Hashtable和HashMap Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现 HashMap允许将null作为一个entry的key或者value,而Hashtable不允许 还有就是,HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey 因为contains方法容易让人引起误解。 最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在 多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。 Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。 以下是达内的学员遇到的情况,这种问题还好是笔试,空想的话可比我遇到的有难度: 今天参加了北京博彦公司的面试,让做了套题,现将其中几道比较有意思的智力题公布给 大家,大家一起想想。 1.有无限多的水,一个3升容量的桶和一个5升容量的桶,现不需要其他工具,准确量出4 升水。提示有两种方法。 2.有个没有刻度的天平,只有7公斤和2公斤的秤砣。要求只使用天平3次,能把140公斤 的盐分成90公斤和50公斤的吗?如果能,方法请写出来。

评论关闭
发表于: os/software | 作者: | 日期: 2008/11/03 08:11

OLE
OLE (Object Linking and Embedding) is Microsoft’s framework for a compound document technology. Briefly, a compound document is something like a display desktop that can contain visual and information objects of all kinds: text, calendars, animations, sound, motion video, 3-D, continually updated news, controls, and so forth. Each desktop object is an independent program entity that can interact with a user and also communicate with other objects on the desktop. Part of Microsoft’s ActiveX technologies, OLE takes advantage and is part of a larger, more general concept, the Component Object Model (COM) and its distributed version, DCOM. An OLE object is necessarily also a component (or COM object). More …

评论关闭
发表于: other | 作者: | 日期: 2008/11/03 07:11

我的白领朋友们,如果我是一个初中没毕业就来沪打工的民工,你会和我坐在“星巴克”一起喝咖啡吗?不会,肯定不会。比较我们的成长历程,你会发现,为了一些在你看来唾手可得的东西,我却需要付出巨大的努力。 More …

评论关闭
发表于: lnmp | 作者: | 日期: 2008/11/02 02:11
标签: ,

进入Linux系统:
必须要输入用户的账号,在系统安装过程中可以创建以下两种帐号:

1.root–超级用户帐号(系统管理员),使用这个帐号可以在系统中做任何事情。
2.普通用户–这个帐号供普通用户使用,可以进行有限的操作。 More …

评论关闭