今天到一家巨牛无比的公司面试,做了一套巨牛无比的笔试题目.结果发现原来自己白干了1年工作
大家看看这些问题也许对你以后面试有帮助
1. 面向对象的特征有哪些方面?
2. JSP的常用内置对象都包括哪些?
3. Integer怎么样装换成int型?
4。请问在weblogic下如何完整的解决中文问题?
5.某字段有10条重复记录请把对应表中的记录查询出来?
表名 appeal_base_info
字段 appeal_type(number)
6.一张主表,一张从表,请将两张表的所有记录查询出来?
主表: appeal_base_info 主键:base_id (number)
主表: appeal_person_info 主键:person_id(number) 外键: base_id(number)
7.两个int 型的整数, 不经过第3方变量进行替换?
如a =10 b =5
转换后 a =5 b =10
8.排错题
1.
public BaseVO getAll(String id) throws SQLException {
PreparedStatement ps = null;
BaseVo vo = null;
ResultSet rs = null;
List list = null;
String sql = "select * from base_info where id = "+ id ";
ps = dbConnection.prepareStatement(sql);
try {
rs = ps.executeQuery();
if (rs.next()) {
vo = fillVO(rs);
}
}
catch (SQLException e) {
throw e;
}
finally {
closeDBObject(ps,rs);
return vo;
}
}
2.
public boolean compare(String str,List list){
list = new ArrayList();
int len = list.size();
boolean b = false;
for(int i=0;i <len;i++){
String str1 = list.get(i);
if(str.equals(str1)){
b = true;
}
}
return b;
}
9.编程题
1.请写出你认为效率最高的方法,实现从1加到100.
2.给定两个日期begin,end
请对两个日期进行对比
如果begin> end返回true
日期格式(yyyy-mm-dd hh:ss)
注意有可能为null的条件
请用javascript实现.
10.在某页面有一下拉框,需要随着数据库的变化而动态变化,请说明你所知道的方式,以及具体思路.
=========================================================================
1. 面向对象的特征有哪些方面?
继承性 多态性 封装性
2. JSP的常用内置对象都包括哪些?
3. Integer怎么样装换成int型?
4。请问在weblogic下如何完整的解决中文问题?
1) 在JSP文件头加入
<%@ page contentType="text/html; charset=GBK" %>
指定该JSP采用的字符集。
2) 在Weblogic.xml文件的<jsp-descriptor>中加入:
<jsp-param>
<param-name>encoding</param-name>
<param-value>GBK</param-value>
</jsp-param>
指定JSP文件中采用的字符集,在JSP文件中的
<%@ page contentType="text/html; charset=GBK" %>会覆盖该设置
3) 在Weblogic.xml文件的<jsp-descriptor>中加入
<jsp-param>
<param-name>compilerSupportsEncoding</param-name>
<param-value>true</param-value>
</jsp-param>
如果为TRUE,指定在编译JSP文件时,采用在JSP文件中定义的
<%@ page contentType="text/html; charset=GBK" %>
或
<jsp-descriptor>
中定义的encoding参数中定义的字符集进行编码;
如果为FALSE,则采用JVM中默认指定的字符集进行编码。
5.某字段有10条重复记录请把对应表中的记录查询出来?
表名 appeal_base_info
字段 appeal_type(number)
SELECT * form appeal_base_info where appeal_type in (select appeal_type from appeal_base_info group by appeal_type having count(appeal_type) = 10)
6.一张主表,一张从表,请将两张表的所有记录查询出来?
主表: appeal_base_info 主键:base_id (number)
主表: appeal_person_info 主键:person_id(number) 外键: base_id(number)
select * from appeal_base_info,appeal_person_info where appeal_base_info.base_id = appeal_person_info.base_id
7.两个int 型的整数, 不经过第3方变量进行替换?
如a =10 b =5
转换后 a =5 b =10
方法一、a=a+b;b=a-b;a=a-b;
方法二、a=a + b<<16; // b放到了a的高16位
b=(a &0XFFFF0000)>>16 //把a放到了a的高16位
a=a & 0x0000ffff;
方法三、a^= b;
b ^= a;
a ^= b;
8.排错题
1.
public BaseVO getAll(String id) throws SQLException {
PreparedStatement ps = null;
BaseVo vo = null;
ResultSet rs = null;
List list = null;
String sql = "select * from base_info where id = "+ id";
ps = dbConnection.prepareStatement(sql);
try {
rs = ps.executeQuery();
if (rs.next()) {
vo = fillVO(rs);
}
}
catch (SQLException e) {
throw e;
}
finally {
closeDBObject(ps,rs);
return vo;
}
}
2.
public boolean compare(String str,List list){
list = new ArrayList();
int len = list.size();
boolean b = false;
for(int i=0;i<len;i++){
String str1 = list.get(i);
if(str.equals(str1)){
b = true;
}
}
return b;
}
9.编程题
1.请写出你认为效率最高的方法,实现从1加到100.
1-100的累加相当于加50次101,这样循环次数从100次降为50次:
int sun = 0
for(int i = 1,j = 100 ; i <= 50 ; i++,j--){
sun = sun + i + j;
}
2.给定两个日期begin,end
请对两个日期进行对比
如果begin>end返回true
日期格式(yyyy-mm-dd hh:ss)
注意有可能为null的条件
请用javascript实现.
10.在某页面有一下拉框,需要随着数据库的变化而动态变化,请说明你所知道的方式,以及具体思路.
a、就像csdn论坛首页那样做,页面一框架形式存在,定时刷新框架的一部分,如csdn刷新的就只是用户状态栏。
b、借鉴.net的实现方法,将页面状态已编码的方式存放在form中,当数据库发生变化时,不论用户是否完成表单编辑页面信息都会被提交,但是不会被处理,只有要变化的下拉框的状态会发生变化,其它的值将回读编码值,以保存原有的状态。
编写一个截取字符的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但是要保证汉字不被截半个,如(“我ABC”,4),应该截为“我AB”,输入为(“我ABC汉DEF”,6),应该截为“我ABC”,而不是“我ABC+汉的一半”
public class CutString {
public static void main(String args[]) {
String str="我喜欢JAVA:)";
for(int i=0;i<=str.length();i++) {//循环打印
System.out.println(cutString(str,i));
}
}
public static String cutString(String s,int len) {
byte [] sb=s.getBytes();
boolean b=true;
for(int i=0;i<len;i++) {
if(sb[i]<0 && b==true) {//遇到汉字len++
len++;
b=false;
}else{
b=true;
}
}
return new String(sb,0,len);
}
}
static String cutstr(String str, int n) {
int i;
for (i = 0; i < n; i++) {
if (str.charAt(i) > 127)
n--;
}
return str.substring(0, n);
}
给出任一字符串,如abcdd,找出所有可能的字母组合(如ab ac add dd …… )!
public class GenCombination
{
char num[];
public GenCombination(int i,char[] ia){
num=new char[i];
for (int j=0 ;j<i ; j++ ) {
num[j]=ia[j];
}
}
public int getCombination(int n,int m){
if (n<m){
System.out.println("Wrong Parameters: first Param >= Second Param");
return 0;
}
System.out.println("get "+ m + " char from "+ n + " char :");
int numOfResult=0;
char result[][]=new char[100][];
int a[];
a=new int[m+1] ;
int i,j;
for (i=1;i<=m;i++) a[i]=i;
for (;;)
{
result[numOfResult] = new char[m];
int h=0;
for (i=1;i<=m;i++) {
result[numOfResult][h] = num[ a[i]-1 ];
h++;
}
for (int p=0; p<result[numOfResult].length; p++ ){
System.out.print(result[numOfResult][p]);
}
System.out.println();
numOfResult++;
for (j=m;j>=1;j--) if (a[j]<n-m+j) break;
if (j==0) break;
a[j]++;
for (i=j+1;i<=m;i++) a[i]=a[i-1]+1;
}
System.out.println( "/n"+numOfResult+" result!/n/n");
return numOfResult;
}
public static void main(String args[])
{
String s="abcdd";
char ca[]=s.toCharArray();
GenCombination gc=new GenCombination(s.length(),ca);
for (int i=1 ; i<=s.length(); i++)
gc.getCombination(s.length(),i);
}
}
1 HashMap和HashTable有什么区别
2 数据库中有以下数据
ID(pri)(Auto) name pass
1 aaa 111
2 bbb 222
3 ccc 333
请用一条SQL语句将现有的三条记录复制一下,达到以下的效果
ID(pri) (Auto) name pass
1 aaa 111
2 bbb 222
3 ccc 333
4 aaa 111
5 bbb 222
6 ccc 333
再用一条sql删除重复记录
这个要hotman_x这个sqlA来回答了,呵呵
3 在服务器端,从一个jsp页面中跳到另外一个jsp页面中有几种方法?
4 数据库中表结构如下,
ID(Pri) int
no int
name varchar
birthDay Date
用java写一个函数,返回所有符合条件 no = int a & name = str $ birthdavy = date 的结果集合
5 jsp和Servlet的区别和联系
6 设计一个权限管理模型,分为a&b两组 a组的一般用户只能读取a的table,a组中的管理员可以对a的table进行CRUD
同样,b组的一般用户只能读取b的table,b组中的管理员可以对b的table进行CRUD
超级管理员可以对a&b的table进行CRUD
写出部分实现代码