上周某公司的笔试题

上周有些公司来这边招聘。同宿舍有同学去了,我就顺便问了下笔试的题目。有这么一份我是看到了试卷的,感觉是“令人烦躁”。幸好自己没去那笔试 XD

这份是Java卷。据说还有C++版,题目不同?不过我没见到题目不知道是啥样的。
排版尽量按照实际印刷状况重现:
[quote="笔试题"][b]PART ONE 选择题[/b]

1、下面哪些是Java合法的标识符?
A. $persons
B. TwoUsers
C. *point
D. this
E. _endline

2、在// point x处的哪些语句是合法的?
class Person {
private int a;
public int change(int m){ return m; }
}

public class Teacher extends Person {
public int b;
public static void main(String arg[]){
Person p = new Person();
Teacher t = new Teacher();
int i;
// point x
}
}

A. i = m;
B. i = b;
C. i = p.a;
D. i = p.change(30);
E. i = t.b

3、第十行的声明将调用哪个方法?
class Person {
public void printValue(int i, int j) {/*...*/}
public void printValue(int i) {/*...*/}
}
public class Teacher extends Person {
public void printValue() {/*...*/}
public void printValue(int i) {/*...*/}
public static void main(String args[]){
Person t = new Teacher();
t.printValue(10);
}
}

A. 第2行
B. 第3行
C. 第6行
D. 第7行

4、在Linux系统中,个人环境的配置放在哪个文件中?
A. 用户目录下的.bashrc文件中
B. 用户目录下的.bash_profile文件中
C. 系统目录下的/etc/rc.d/init.d文件中
D. 用户目录下的personal.properties中
E. 用户目录下的MakeFile中

5、在linux系统中,要查看一个目录的总的大小,例如/home/test/athena目录,如果当前目录在/home/test下,哪个选项是正确的?
A. ls -dir athena
B. df -hk athena
C. du -hs athena
D. dc athena
E. de -s Athena

[b]PART TWO 填空题[/b]

在一个HTML页面中,填补一下JavaScript代码来完成所要求的逻辑:
<html>
<head>
Demo
</head>
<script language="javascript">
function on_Submit(){
if(txtSearch.value==""){
//弹出一个窗口告诉用户"你还没有输入内容"
___________________________
//并且取消提交
___________________________
}else{
if(___________________________){
//如果选择是。提交该表单
___________________________
}else{
//如果用户选择否,取消提交表单并在原页面上打开URL为"http://china.abcde.com"
___________________________
___________________________
}
}
}

</script>
<body>
<form action="submitservlet" id="frm" method="post" onsubmit="on_Submit();">
<input type="text" id="txtSearch">
<input type="submit" id="btnSubmit" value="提交">
</form>
</body>
</html>


[b]PART THREE 简单题[/b]

1、现有订单、客户、产品三个业务对象,其中订单包括:订单号、下单日期、订购数量、订购金额等属性,客户包括:客户号、名称、电话、地址等属性;产品包括:编码、名称、规格、单价等属性。订单关联客户和产品,对应关系是:一份订单对应一个客户,一个客户对应多分订单,一份订单包含一或多个产品。请用UML类图画出这三个对象的关系和属性。

2、假设数据库有两张表:company和member,有三个重要字段,其中company.member_id和member.member_id这两个字段代表的意义是一样的,都是member_id,还有一个字段为member.member_type,要求写出一条SQL语句,取出所有的member_type='Paid'的所有会员所对应的所有公司,并且按照公司的创建时间company.gmt_createdd倒序排列。

4、有一个天平,没有游码,有2克,7克两个砝码,有一堆沙子重140克,要求分两次称重(只能使用两次天平),分出100克与40克两堆沙子。怎么分法?

[b]PART FOUR 编程题[/b]

写一段代码,实现银行转帐功能:
接口定义如下:
public interface ITransfer{
/**
* 银行内部转帐,从转出帐号中扣除转帐金额,给转入帐号增加转帐金额,需要保证以上两个操作要么同时成功,要么同时失败。
* fromAccountId 转出帐号
* toAccountId 转入帐号
* amount 转帐金额
*
* 返回值: true 成功;false 失败
**/
public boolean transferAccount(String fromAccountId, String toAccountId, BigDecimal amount);

/**
* 从用户帐号中增加或扣除转帐金额
* accountId 用户帐号
* amount 金额
* 返回值: true 成功;false 失败
**/
private boolean updateAccount(String accountId, BigDecimal amount);
}

请编写你的实现类RealTransfer,来实现上述接口。要求:所有对DB的操作放在updateAccount方法中,transferAccount方法控制转帐逻辑。

数据库表结构定义如下:
Account表:
字段:accountId,主键 varchar2(32),用户帐号
字段:amount, 金额,number(18,3)[/quote]
(字和标点什么的都尽量模仿原题了。看到诡异的地方请不要问我为什么。哦,填空题里的abcde是故意隐掉的,不想针对任何公司,只想针对现象讨论。)

笔试题目的难度是否适中之类的我是没办法评估,没想法。不过从做题者的角度看,这份试卷拿到手的第一感觉恐怕是“眼花”:一上来就一堆没有缩进的代码,看着难受。

然后填空题那边,有合适的答案么?要取消一个表单的提交不是应该在οnsubmit=""里写成return [i]expression[/i]的形式么……像这样:
<html>
<head>
<script type="text/javascript">
function onSubmit() {
return txt.value != ''
}
</script>
</head>
<body>
A form:<br />
<form id="myform" action="formtarget.html" onsubmit="return onSubmit()">
<input type="text" id="txt" />
<input type="submit" value="Click" />
</form>
</body>
</html>

如果把那个return去掉的话,不就取消不掉了么……至少我在FF3上试是这样的。

编程题也很有趣,在interface声明里有private成员,这……这是Java吧?
话说要对DB操作也没提供个连接字符串,或者系统里有别的地方可以获得connection?但也没给API。

这样考验考生真的是合适的么?hmm……
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值