Courage is grace under pressure

用我一辈子去追求

导航

<2024年11月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

统计

  • 随笔 - 17
  • 文章 - 1
  • 评论 - 2
  • 引用 - 0

常用链接

留言簿(43)

随笔档案

文章档案

相册

XML的Blog

搜索

  •  

最新评论

阅读排行榜

评论排行榜

#

某公司的面试题

题目比较简单:
判断题目:
1。java不只是一门语言,更是一门技术
2 java与数据库连接的是ODBC
3.后面的记不得了

填空题目:
java语言独立性的根本原因______________
javaBean的属性是基本属性,______,_____________,________
jsp指令的作用是_______________
事件模型的顺序是建立事件源,_________和_________

程序题目
这些题目都是傻瓜型的,菜鸟才做不出来

posted @ 2006-09-05 22:30 xyh 阅读(111) | 评论 (0)编辑 收藏

某公司的Java笔试题

1.选择题目,比较简单
2.问答题目
你是怎么理解JVM的?
介绍一下Web.xml的作用?
介绍一下Manifest.mf的作用?
实体Bean和会话Bean的区别?
介绍J2EE的结构,及它采用的技术?
classpath和package的关系,以及package和java files的关系
UML里composite和aggregiate的关系
3 编程题目
写出树的结构,用java代码(关键是要利用TreeNode类)
给出一个表,查询记录并保存在Vector里面(最基本的数据库操作了)

posted @ 2006-09-05 22:21 xyh 阅读(1201) | 评论 (0)编辑 收藏

某公司的技术笔试题

Q1: 一个最大为10个元素的缓冲区对象链表shareList,现在有4个生产者Producer向里面放入产品对象数据,3个消费者Consumer拿走产品对象数据,请写一多线程程序,实现对shareList的互斥访问

Q2: 现有一个类AddressFactory,用于产生32位地址Addr3264位地址Addr64的对象,另有一个类AddrDecorator实现32位和64位地址的运算。请写一程序实现上述论述。
附注:(1AddressFactory的实现采用Singleton模式
2Addr32Addr64对象的产生采用Factory模式
3AddrDecorator的实现采用Decorator模式
4)地址的运算实现简单的加、减即可


Q3: 按照要求,写下面一个GUI程序,参照下图,写一个公司内部结构的XML文件,并读取此文件在界面显示,然后实现员工的添加、删除以及姓名的修改。

 未命名.bmp
附注:(1)参考java编程风格,添加注释,可用于生成javadoc文档

(2)如果熟悉Eclipse,请将此程序实现为eclipse插件(不再写java程序),界面采用SWTjface实现。

Q4: 编写一个程序,将人民币转换成美元,人民币以字符串形式,汇率自行设定

 

posted @ 2006-09-05 22:07 xyh 阅读(367) | 评论 (0)编辑 收藏

自嘲

本人简历的自我评价:
1.绝对自信:本人深信,别人(包括天才)能做到的事情,我也一定能做到,区别在于付出的时间不同。比如说,我自信能活到158岁
2.精通世界语:本人土家语(本人是土家族)、汉语听说读写俱佳;本人熟悉java和c语言,读写能力较强,听说能力一般
3.上知天文:本人潜心研究过太阳(SUN)的结构,熟悉月食(Eclipse)形成的原理
4.下知地理:本人潜心研究过Google Maps和Edushi的3D地图,每天鼠标一点,可以进入任何一栋楼,懂得坐地日行八万里的原理
5.艰苦朴素:本人能在恶劣环境下生存,善于在阳光灿烂的春天(Spring)冬眠(Hibernate)
6.精通古文:本人古文修养好,曾潜心研究过远古的象形文字-甲骨文(Oracle),终于破解了它
7.创业精神:本人敢于冒险,J老板(JBoss)是我的崇拜对象
7.最大优点:没有任何缺点,本人是一个完美主义者,从来没进恶魔岛(六月联盟)
8.最大缺点:没有专业IT人员的任何优点,本人没有比尔盖茨的所有优点:他喜好用Windows,本人喜欢Linux;他喜好VS 2005,本人喜欢JBuilder 2005; 他喜好MSN Messager,本人喜欢QQ

posted @ 2006-08-22 10:25 xyh 阅读(546) | 评论 (0)编辑 收藏

Js正则表达式(转自Google)

原文:http://groups.google.com/group/CNIT/browse_thread/thread/6de5ae6b1d71628a

正则表达式用于字符串处理,表单验证等场合,实用高效,但用到时总是不太把握,以致往往要上网查一番。我将一些常用的表达式收藏在这里,作备忘之用。本贴随时会­更新。

匹配中文字符的正则表达式: [\u4e00-\u9fa5]

匹配双字节字符(包括汉字在内):[^\x00-\xff]

应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)

String.prototype.len=function(){return
this.replace([^\x00-\xff]/g,"aa").length;}

匹配空行的正则表达式:\n[\s| ]*\r

匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/

匹配首尾空格的正则表达式:(^\s*)|(\s*$)

应用:javascript中没有像vbscript那样的trim函数,我们就可以利用这个表达式来实现,如下:

String.prototype.trim = function()
{
    return this.replace(/(^\s*)|(\s*$)/g, "");

}

利用正则表达式分解和转换IP地址:

下面是利用正则表达式匹配IP地址,并将IP地址转换成对应数值的Javascript程序:

function IP2V(ip)
{
 re=/(\d+)\.(\d+)\.(\d+)\.(\d+)/g  //匹配IP地址的正则表达式
if(re.test(ip))
{
return
RegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255+RegExp.­$4*1

}

else
{
 throw new Error("Not a valid IP address!")

}
}

不过上面的程序如果不用正则表达式,而直接用split函数来分解可能更简单,程序如下:

var ip="10.100.20.168"
ip=ip.split(".")
alert("IP值是:"+(ip[0]*255*255*255+ip[1]*255*255+ip[2]*255+ip[3]*1))

匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

匹配网址URL的正则表达式:http://([\w-]+\.)+[\w-]+(/[\w-
./?%&=]*)?

利用正则表达式去除字串中重复的字符的算法程序:[注:此程序不正确,原因见本贴回复]

var s="abacabefgeeii"
var s1=s.replace(/(.).*\1/g,"$1")
var re=new RegExp("["+s1+"]","g")
var s2=s.replace(re,"")
alert(s1+s2)  //结果为:abcefgi

我原来在CSDN上发贴寻求一个表达式来实现去除重复字符的方法,最终没有找到,这是我能想到的最简单的实现方法。思路是使用后向引用取出包括重复的字符,再以­重复的字符建立第二个表达式,取到不重复的字符,两者串连。这个方法对于字符顺序有要求的字符串可能不适用。

得用正则表达式从URL地址中提取文件名的javascript程序,如下结果为page1

s="http://www.9499.net/page1.htm"
s=s.replace(/(.*\/){0,}([^\.]+).*/ig,"$2")
alert(s)

利用正则表达式限制网页表单里的文本框输入内容:

用正则表达式限制只能输入中文:onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')
"
onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').r­eplace(/[^\u4E00-\u9FA5]/g,''))"

用正则表达式限制只能输入全角字符:
onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'') "
onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').r­eplace(/[^\uFF00-\uFFFF]/g,''))"

用正则表达式限制只能输入数字:onkeyup="value=value.replace(/[^\d]/g,'')
"onbeforepaste=
"clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/­g,''))"

用正则表达式限制只能输入数字和英文:onkeyup="value=value.replace(/[\W]/g,'')
"onbeforepaste
="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]­/g,''))"

正则表达式,相关链接
http://blog.csdn.net/laily/category/19548.aspx
http://blog.csdn.net/laily/archive/2004/06/30/30525.aspx
微软的正则表达式教程(五):选择/编组和后向引用

http://blog.csdn.net/laily/archive/2004/06/30/30522.aspx
微软的正则表达式教程(四):限定符和定位符

http://blog.csdn.net/laily/archive/2004/06/30/30517.aspx
微软的正则表达式教程(三):字符匹配

http://blog.csdn.net/laily/archive/2004/06/30/30514.aspx
微软的正则表达式教程(二):正则表达式语法和优先权顺序

http://blog.csdn.net/laily/archive/2004/06/30/30511.aspx
微软的正则表达式教程(一):正则表达式简介

http://blog.csdn.net/laily/archive/2004/06/30/30360.aspx
小程序大作为:高级查找/替换、正则表达式练习器、Javascript脚本程序调试器

http://blog.csdn.net/laily/archive/2004/06/24/25872.aspx
经典正则表达式

正则表达式,正规表达式,正则表达式匹配,正则表达式语法,模式匹配,正规表达式匹配
javascript正则表达式 ASP正则表达式 ASP.NET 正则表达式
C#正则表达式 JSP正则表达式 PHP正则表达式
VB.NET正则表达式 VBSCript正则表达式编程
delphi正则表达式  jscript

# 回复:经典正则表达式 2004-08-03 2:12 PM 阿赖
正则表达式 regular expression
正则表达式 RegExp
模式 pattern
匹配 Match
.NET命名空间: System.Text.RegularExpression

# 回复:经典正则表达式 2004-08-03 2:14 PM 阿赖
补充:
^\d+$  //匹配非负整数(正整数 + 0)
^[0-9]*[1-9][0-9]*$  //匹配正整数
^((-\d+)|(0+))$  //匹配非正整数(负整数 + 0)
^-[0-9]*[1-9][0-9]*$  //匹配负整数
^-?\d+$    //匹配整数
^\d+(\.\d+)?$  //匹配非负浮点数(正浮点数 + 0)
^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]­*))$  //匹配正浮点数

^((-\d+(\.\d+)?)|(0+(\.0+)?))$  //匹配非正浮点数(负浮点数
+ 0)
^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-­9]*)))$  //匹配负浮点数

^(-?\d+)(\.\d+)?$  //匹配浮点数
^[A-Za-z]+$  //匹配由26个英文字母组成的字符串
^[A-Z]+$  //匹配由26个英文字母的大写组成的字符串
^[a-z]+$  //匹配由26个英文字母的小写组成的字符串
^[A-Za-z0-9]+$  //匹配由数字和26个英文字母组成的字符串

^\w+$  //匹配由数字、26个英文字母或者下划线组成的字符串

^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$    //匹配email地址
^[a-zA-z]+://匹配(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$  //匹配url

# 回复:经典正则表达式 2004-09-08 7:37 PM totoro
利用正则表达式去除字串中重复的字符的算法程序:

var s="abacabefgeeii"
var s1=s.replace(/(.).*\1/g,"$1")
var re=new RegExp("["+s1+"]","g")
var s2=s.replace(re,"")
alert(s1+s2) //结果为:abcefgi
===============================
如果var s = "abacabefggeeii"
结果就不对了,结果为:abeicfgg
正则表达式的能力有限

# 回复:经典正则表达式 2004-09-10 2:07 PM 阿赖
RE: totoro
谢谢你的指点,这个javascript正则表达式程序算法确实有问题,我会试着找更好的办法!!!

# 回复:经典正则表达式 2004-10-11 3:52 PM Lai
1.确认有效电子邮件格式
下面的代码示例使用静态 Regex.IsMatch
方法验证一个字符串是否为有效电子邮件格式。如果字符串包含一个有效的电子邮件地址,则
 IsValidEmail 方法返回 true,否则返回
false,但不采取其他任何操作。您可以使用
IsValidEmail,在应用程序将地址存储在数据库中或显示在
ASP.NET
页中之前,筛选出包含无效字符的电子邮件地址。

[Visual Basic]
Function IsValidEmail(strIn As String) As Boolean
' Return true if strIn is in valid e-mail format.
Return Regex.IsMatch(strIn,
("^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-z­A-Z]{2,4}|[0-9]{1,3})(\]?)$")

End Function
[C#]
bool IsValidEmail(string strIn)
{
// Return true if strIn is in valid e-mail format.
return Regex.IsMatch(strIn,
@"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-z­A-Z]{2,4}|[0-9]{1,3})(\]?)$");

}

2.清理输入字符串
下面的代码示例使用静态 Regex.Replace
方法从字符串中抽出无效字符。您可以使用这里定义的
CleanInput
方法,清除掉在接受用户输入的窗体的文本字段中输入的可能有害的字符。CleanInput
在清除掉除 @、-(连字符)和
.(句点)以外的所有非字母数字字符后返回一个字符串。

[Visual Basic]
Function CleanInput(strIn As String) As String
' Replace invalid characters with empty strings.
Return Regex.Replace(strIn, "[^\w\.@-]", "")
End Function
[C#]
String CleanInput(string strIn)
{
// Replace invalid characters with empty strings.
return Regex.Replace(strIn, @"[^\w\.@-]", "");

}

3.更改日期格式
以下代码示例使用 Regex.Replace 方法来用 dd-mm-yy
的日期形式代替 mm/dd/yy 的日期形式。

[Visual Basic]
Function MDYToDMY(input As String) As String
Return Regex.Replace(input, _
"\b(?<month>\d{1,2})/(?<day>\d{1,2})/(?<year>\d{2,4})\b", _
"${day}-${month}-${year}")
End Function
[C#]
String MDYToDMY(String input)
{
return Regex.Replace(input,
"\\b(?<month>\\d{1,2})/(?<day>\\d{1,2})/(?<year>\\d{2,4})\\b",
"${day}-${month}-${year}");

}

Regex 替换模式
本示例说明如何在 Regex.Replace
的替换模式中使用命名的反向引用。其中,替换表达式
${day} 插入由 (?<day>...) 组捕获的子字符串。

有几种静态函数使您可以在使用正则表达式操作时无需创建显式正则表达式对象,而
Regex.Replace
函数正是其中之一。如果您不想保留编译的正则表达式,这将给您带来方便

4.提取 URL 信息
以下代码示例使用 Match.Result 来从 URL
提取协议和端口号。例如,“http://www.contoso.com:8080/letters/readme.html”将返回“http:8080”。

[Visual Basic]
Function Extension(url As String) As String
Dim r As New Regex("^(?<proto>\w+)://[^/]+?(?<port>:\d+)?/", _
RegexOptions.Compiled)
Return r.Match(url).Result("${proto}${port}")
End Function
[C#]
String Extension(String url)
{
Regex r = new Regex(@"^(?<proto>\w+)://[^/]+?(?<port>:\d+)?/",
RegexOptions.Compiled);
return r.Match(url).Result("${proto}${port}");

posted @ 2006-08-18 14:50 xyh 阅读(600) | 评论 (0)编辑 收藏

国外Java面试题集(续)

     摘要: 来自网络资源,由本人整理,希望对大家有用 16. What is the purpose of garbage collection in Java, and when is it used?The purpose of garbage collection is to identify and discard objects that are no ...  阅读全文

posted @ 2006-08-02 09:50 xyh 阅读(3918) | 评论 (0)编辑 收藏

Java面试题(English)

 

1. Why do you prefer Java?

Answer: write once ,run anywhere.

 

2. Name some of the classes which provide the functionality of collation?

Answer: collator, rulebased collator, collationkey, collationelement iterator.

 

3. Awt stands for? and what is it?

Answer: AWT stands for Abstract window tool kit. It is a is a package that provides an integrated set of classes to manage user interface components.

 

4. why a java program can not directly communicate with an ODBC driver?

Answer: Since ODBC API is written in C language and makes use of pointers which Java can not support.

 

5. Are servlets platform independent? If so Why? Also what is the most common application of servlets?

Answer: Yes, Because they are written in Java. The most common application of servlet is to access database and dynamically construct HTTP response

 

6.What is a Servlet?

Answer: Servlets are modules of Java code that run in a server application (hence the name "Servlets", similar to "Applets" on the client side) to answer client requests.

 

7.What advantages does CMOS have over TTL(transitor transitor logic)? (ALCATEL)

Answer:

low power dissipation

pulls up to rail

easy to interface

 

8.How is Java unlike C++? (Asked by Sun)

Some language features of C++ have been removed. String manipulations in Java do not allow for buffer overflows and other typical attacks. OS-specific calls are not advised, but you can still call native methods. Everything is a class in Java. Everything is compiled to Java bytecode, not executable (although that is possible with compiler tools).

 

9.What is HTML (Hypertext Markup Language)?

HTML (HyperText Markup Language) is the set of "markup" symbols or tags inserted in a file intended for display on a World Wide Web browser. The markup tells the Web browser how to display a Web page’s words and images for the user.

 

10.Define class.

Answer: A class describes a set of properties (primitives and objects) and behaviors (methods).

 

11.In Java, what is the difference between an Interface and an Abstract class?

A: An Abstract class declares have at least one instance method that is declared abstract which will be implemented by the subclasses. An abstract class can have instance methods that implement a default behavior. An Interface can only declare constants and instance methods, but cannot implement default behavior.

 

12. Can you have virtual functions in Java? Yes or No. If yes, then what are virtual functions?

A: Yes, Java class functions are virtual by default. Virtual functions are functions of subclasses that can be invoked from a reference to their superclass. In other words, the functions of the actual object are called when a function is invoked on the reference to that object.

 

13.Write a function to reverse a linked list p in C++?

A:

Link* reverse_list(Link* p)

{

if (p == NULL)

return NULL;

Link* h = p;

p = p->next;

h->next = NULL;

while (p != null)

{

Link* t = p->next;

p->next = h;

h = p;

p = t;

}

return h;

}

 

14.In C++, what is the usefulness of Virtual destructors?

A:Virtual destructors are neccessary to reclaim memory that were allocated for objects in the class hierarchy. If a pointer to a base class object is deleted, then the compiler guarantees the various subclass destructors are called in reverse order of the object construction chain.

 

15.What are mutex and semaphore? What is the difference between them?

A:A mutex is a synchronization object that allows only one process or thread to access a critical code block. A semaphore on the other hand allows one or more processes or threads to access a critial code block. A semaphore is a multiple mutex.

posted @ 2006-07-31 10:14 xyh 阅读(3212) | 评论 (2)编辑 收藏

仅列出标题
共2页: 上一页 1 2 
设为首页 加入收藏 与我联系 您的浏览器: