嘿嘿,我这个.net出身的java外行,只能出一些通用性质的东东.
编程细节没特意搞,因为我觉得意义不大,类似代码挑错啊,抽象继承之类的我觉得意义不大.JAVA程序员笔试题目1,算法基础 请简要讲述一下排序算法的种类与时间复杂度。
2,数据结构 有一个字符串数组 List <string>="abc","bac","acb".....10万个元素,每个长度在3到16个字符。
只保留其中一个组合,也就是说对于字符串内容相同,只是字符组合顺序不同的字符串进行删除。
如:"abc","bac","acb" 是相同的,只保留一个"abc"。给出思路或伪代码即可。3,面向对象 介绍一下你常用的设计模式及用途?4, 数据库设计 简要介绍一下关系型数据库的1-3NF泛式5,SQL语句 利用只有一ID列(int 自增)的表,记录只有5行,分别是1,2,3,4,5,查询出5个数字的全排列有多少种。6,正则表达式 写出过滤掉HTML标签的表达式。例如:<标签>文字</标签> 只保留文字。7,JSP服务器端开发 介绍一下JSP的内置对象和页面间对象传递的方法
8,HTML+CSS 在position:relative的情况下,只用DIV+CSS写出“自适应”屏幕宽度的三栏布局。(只要写出CSS关键字即可)9,AJAX和浏览器模型
在上一个题目的第2个DIV中,用JS在里边创建一个Table。10,架构 介绍一下你现在使用的技术框架设计,优缺点。-------------------------------(附加题目)-----------------------------11,软件工程 按照使用的频繁程度,介绍一下你使用的UML图的类型,用途。
12,XML和DOM模型
介绍一下常用的Dom方法,写出查找ID属性为1的Xpath语句。
编程细节没特意搞,因为我觉得意义不大,类似代码挑错啊,抽象继承之类的我觉得意义不大.JAVA程序员笔试题目1,算法基础 请简要讲述一下排序算法的种类与时间复杂度。
2,数据结构 有一个字符串数组 List <string>="abc","bac","acb".....10万个元素,每个长度在3到16个字符。
只保留其中一个组合,也就是说对于字符串内容相同,只是字符组合顺序不同的字符串进行删除。
如:"abc","bac","acb" 是相同的,只保留一个"abc"。给出思路或伪代码即可。3,面向对象 介绍一下你常用的设计模式及用途?4, 数据库设计 简要介绍一下关系型数据库的1-3NF泛式5,SQL语句 利用只有一ID列(int 自增)的表,记录只有5行,分别是1,2,3,4,5,查询出5个数字的全排列有多少种。6,正则表达式 写出过滤掉HTML标签的表达式。例如:<标签>文字</标签> 只保留文字。7,JSP服务器端开发 介绍一下JSP的内置对象和页面间对象传递的方法
8,HTML+CSS 在position:relative的情况下,只用DIV+CSS写出“自适应”屏幕宽度的三栏布局。(只要写出CSS关键字即可)9,AJAX和浏览器模型
在上一个题目的第2个DIV中,用JS在里边创建一个Table。10,架构 介绍一下你现在使用的技术框架设计,优缺点。-------------------------------(附加题目)-----------------------------11,软件工程 按照使用的频繁程度,介绍一下你使用的UML图的类型,用途。
12,XML和DOM模型
介绍一下常用的Dom方法,写出查找ID属性为1的Xpath语句。
哈哈 题目不错 ,但是 感觉 太多了 , 呵呵
l.add("bac");
l.add("bca");
l.add("aljfijq");
l.add("abcd");
l.add("badc");
Map<String, String> m = new HashMap<String, String>();
System.out.println("未处理:" + l);
for (String s : l) {
char[] c = s.toCharArray();
Arrays.sort(c);
m.put(new String(c), s);
}
System.out.println("处理后:" + m.values());
List<String> l = new ArrayList<String>();
l.add("bac");
l.add("bca");
l.add("aljfijq");
l.add("abcd");
l.add("badc");
Map<String, String> m = new HashMap<String, String>();
System.out.println("未处理:" + l);
for (String s : l) {
char[] c = s.toCharArray();
Arrays.sort(c);
m.put(new String(c), s);
}
System.out.println("处理后:" + m.values());
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;public class Test { /**
* FIXME
*
* @param args
*/
public static void main(String[] args) {
List<String> l = new ArrayList<String>();
l.add("bac");
l.add("bca");
l.add("aljfijq");
l.add("abcd");
l.add("badc");
Map<String, String> m = new HashMap<String, String>();
System.out.println("未处理:" + l);
for (String s : l) {
char[] c = s.toCharArray();
Arrays.sort(c);
m.put(new String(c), s);
}
System.out.println("处理后:" + m.values());
}}
-----------------------------------------------------------
期待高人出现
HTML+CSS应该是前端页面架构程序员的事,而UML应该是系统架构工程师的事吧.觉得分工应该要好一点.
imA 排序算法是很好的一个例子哦
我这里给个 重写hashCode,和 equals的算法 大家看看对不
多少的给我点分吧
不给分我 下次就只看你贴就是不绑定class MyString{
private String str;
private int myCode = -1;
//素数表
public static char [] primeChar ={2,3,5,7,11,13,17,19,23,19,
31,37,41,43,47,53,59,61,67,71,
73,79,83,89,97,101};
public MyString(){
str = new String();
}
public MyString(String str){
this.str = new String(str);
}
/**
* 思想是 用 字母 (char - 'a')*第[char - 'a']素数来离散
*/
@Override
public int hashCode() {
int n;
if(myCode == -1)
{
char [] meCharAry = this.str.toCharArray();
int length = str.length();
for(int i=0; i<length; i++){
n = meCharAry[i]-'a';
myCode += n*primeChar[n];
}
}
return myCode;
} @Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
MyString other = (MyString) obj;
if(this.str.length() != other.str.length()){
return false;
}else{
//长度相同的字符串 他们的素数离散Code如果一样,应该就是 abc=bac的例子
if(this.hashCode() == other.hashCode())
return true;
else
return false;
}
}
@Override
public String toString() {
return str;
} public static void test(){
List<MyString> l = new ArrayList<MyString>();
l.add(new MyString("bac"));
l.add(new MyString("bca"));
l.add(new MyString("aljfijq"));
l.add(new MyString("abcd"));
l.add(new MyString("badc"));
l.add(new MyString("aljfiqj"));
l.add(new MyString("abcdefghijklm"));
l.add(new MyString("ghijklmabcdef"));
Set<MyString> hs = new HashSet<MyString>();
System.out.println("未处理之前:" + l);
for(MyString ms : l){
hs.add(ms);
System.out.println(ms.toString() + "--->hashCode: " + ms.hashCode());
}
System.out.println("未处理之后:" + hs);
}/* 运行结果
未处理之前:[bac, bca, aljfijq, abcd, badc, aljfiqj, abcdefghijklm, ghijklmabcdef]
bac--->hashCode: 12
bca--->hashCode: 12
aljfijq--->hashCode: 1941
abcd--->hashCode: 33
badc--->hashCode: 33
aljfiqj--->hashCode: 1941
abcdefghijklm--->hashCode: 1941 //hashCode相同但长度不一样 所以equal返回false
ghijklmabcdef--->hashCode: 1941
未处理之后:[abcdefghijklm, abcd, aljfijq, bac]
*/
}
这套题是应聘Java开发人员的吗 怎么没有简述下 Java 集合框架 和 IO流呢
这两个貌似有点重要 用的很多
虽然我是大学生 但我还想到一个很重的方面没有考察
考Java 好歹要叫应聘的学个 类似student teacher 的类
看看编程风格这么样 写的是不是 geters,seters,变量函数命名之类的
会不会重写 hashCode,equals,toString,finalize的基础方法
看来要学的东西还hen
应该就是WEB开发人员~~我就一直没明白,你要那分干吗,要完了,你能把这些题都答出来吗??
本来以为楼主简写了,仔细一看还真有imA,呵呵,自作多情了,不过imA是真的挺帅
.....这 ima真帅
+------+
| id |
+------+
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
+------+
5 rows in set (0.00 sec)mysql> select count(*) from
-> t t1,t t2,t t3,t t4,t t5
-> where t1.id!=t2.id and t1.id!=t3.id and t1.id!=t4.id
-> and t1.id!=t5.id and t2.id!=t3.id and t2.id!=t4.id
-> and t2.id!=t5.id and t3.id!=t4.id and t3.id!=t5.id
-> and t4.id!=t5.id;
+----------+
| count(*) |
+----------+
| 120 |
+----------+
1 row in set (0.00 sec)
排序算法有:
插入排序,选择排序,交换排序,堆排序,归并排序等几大类,每类又有小类,时间复杂度,就忘了.
2,数据结构有一个字符串数组 List <string>="abc","bac","acb".....10万个元素,每个长度在3到16个字符。
只保留其中一个组合,也就是说对于字符串内容相同,只是字符组合顺序不同的字符串进行删除。
如:"abc","bac","acb" 是相同的,只保留一个"abc"。给出思路或伪代码即可。
先降低问题规模,定义14个list,将长度相同的字符串放一个list中,
利用多线程
对每一个list再进行处理:
处理方法如下:
for(){//每一个list元素
1 取出list里的第一个String,
2 调用tochars方法取出构成该String的每一个char,
3 再建立正则表达式,和list中的其他元素进行匹配,
4 删除匹配正确的string
}
3,面向对象介绍一下你常用的设计模式及用途?
单例模式:实现一个类只有一个实类
工厂模式:调用者只管调用,不用管具体的实现.
抽象工厂模式:对工厂再进行一次工厂模式.
等4, 数据库设计简要介绍一下关系型数据库的1-3NF泛式
1:每一个字段不可再分
2:非码属性之间不能依赖关系 消除传递依赖
3:所有的非码属性都要完全依赖主属性 消除不完全依赖5,SQL语句利用只有一ID列(int 自增)的表,记录只有5行,分别是1,2,3,4,5,查询出5个数字的全排列有多少种。上楼有一兄弟做出来了,不在重复.6,正则表达式写出过滤掉HTML标签的表达式。例如: <标签>文字 </标签> 只保留文字。
印象中:正则表达式只能进行匹配,不能过滤吧,高手指点.7,JSP服务器端开发介绍一下JSP的内置对象和页面间对象传递的方法
是用 EL:${}
吗?8,HTML+CSS在position:relative的情况下,只用DIV+CSS写出“自适应”屏幕宽度的三栏布局。(只要写出CSS关键字即可)不会,盼高手指点.
9,AJAX和浏览器模型在上一个题目的第2个DIV中,用JS在里边创建一个Table。10,架构介绍一下你现在使用的技术框架设计,优缺点。
Hibernate:实现对象的持久化,java里的万物都是对象,hibernate就是一个很好的将对象mapping到关系数据库的开源框架,不过使用数据时,不管使用几个字段hibernate都会将整条记录取出以填充对象,感觉有些多余.
Struts:听有些高手说很多应用其实不用分MVC,会更简单.这应该不算缺点.struts1中的表单验证是先填充后验证,如果填充不了的话会出错,这应该算一个缺点吧.
spring:目前没发现缺点
-------------------------------(附加题目)-----------------------------11,软件工程按照使用的频繁程度,介绍一下你使用的UML图的类型,用途。
不会,高手请指教!12,XML和DOM模型介绍一下常用的Dom方法,写出查找ID属性为1的Xpath语句。
document.getElementById(1);
第二题: List <String> l = new ArrayList <String>();
l.add("bac");
l.add("bca");
l.add("aljfijq");
l.add("abcd");
l.add("badc");
Map <String, String> m = new HashMap <String, String>();
System.out.println("未处理:" + l);
for (String s : l) {
char[] c = s.toCharArray();
Arrays.sort(c);
m.put(new String(c), s);
}
System.out.println("处理后:" + m.values());[/Quot]这个题我想知道lz有没有更好的解决方案!
1T嘛 不知道算不算高级排序 基础排序的话也都忘记差不多了 只记得不同的基础排序针对不同的情况 比如需要注意排序的情况下 是比较费时间呢 还是移位费时间呢 以及不同的数据有不同的情况2T嘛 我不太明白什么意思 不过既然是每种只留一个的话 我的建议是先将相同的全部都去掉 然后再详细的进行判断 先按照长度区分 然后怎么弄就不晓得咯(如果说每个元素的内容之间可以一样 比如abx 和 abd 只有一个字符不同的话 的确我没啥办法 不过要是每个都不一样的话 可以尝试从 排序方面解决下) 乱猜的3T嘛 常用的就是单例咯 代理咯 装饰咯 工厂就很少用咯..4T不懂5T也不懂7T是大概说啥捏?传值方法是说attribute那些方法么? 9个内置对象都写完了还要介绍要累死人鸟..8T木明白啥意思 9T创建一个TABLE用createElement吧 10T没明白啥意思大部分的问题大概搜索下就可以解决了 但是LZ问这些实在是太...看样子我出去找工作还得失败而归啊 ..继续研究偶地工资编辑器咯..
为什么要HashMap不用HashSet呢?
这个算法,用HashMap是精髓所在啊,也就是他帅的地方。用HashSet的话,得到的就是abc,而不是bac,bca的其中一个了。但是个人觉得l还是反排一下比较好,保留第一个,现在是保留最后一个,虽然题目没要求看完这套题,我想,我还是不要出去找技术的活干了
题目说:只保留其中一个组合问题是:你都排序后,留下来的可能是原来数组中没有的。例如:"bac","acb" ,留下来的应该是:"bac"或"acb" ,而不是:"abc"。因为:"abc"是你新建的,原来的list没有。
insert into @test
select 1 union all select 2 union all select 3 union all select 4 union all select 5
select * from @test a full join @test b on 1 = 1
full join @test c on 1=1 full join @test d on 1=1
full join @test e on 1=1