2011淘宝技术类校园招聘之笔试题解析

题目来源自:http://apps.hi.baidu.com/share/detail/31359085

笔试一共四个大题,一、二、四必做,三根据申请职位不同选作,一个小时的时间

一,选择:

1. 下列关于模块功能独立性,模块内聚与耦合,关于内聚的是:

a)信息隐蔽         b)模块功能强度         c)      d)记不清楚了

2. 下列哪个Http的返回编码不正确

考了403 500 501 502(正确意思分别是禁止访问、内部服务器错、未实现、网关错误)

3. Struct st{char* a,short b,char c[5],int d};

St xx[3];

Char* p=(char*)&(xx[2].c[4]);

Printf(“%d”,p-xx);

打印结果是():

a)62   b)  42   c) 32  d) 52    

 4. (¬A ∨B)∧(C∨D )的逆波兰式是:

 5. 想不起来了……

二,填空:

1. Linux系统中改变文件所有者的命令是:

2. 进程的三种状态是:

3. 按区域分三种网络是:

4. 一个8位数,它的补码有3个1,5个0,那么补码形式最小是:

5. Int countx=0;

Int x=17373;

Void f(){

While(x)

{

           countx ++;

           X=x&(x-1);

}

Return countx;

}

问返回值是:

 四,编程:

假设骰子有1~6个点,掷十次,总和为50,问有多少种方法。编写递归算法实现。

三,选作题目(记得不全)

C++部分:

1. 编程实现n的阶乘,尽量考虑各种异常

2. 举例说明OOD设计原则,并说明对项目实施有什么好处

其他题目(有java、前端等等)

1.给了一个“回到顶部”的小按钮,让javascript 与css实现点击回到本页顶部,这个按钮一直位于当前页面最左下部。

2.给了四副图片,一个在左边,三张在右边随机叠放,用javascrpt 与css实现右边图片点击放大,出现任意图片可以随机摆放,而且会有重叠

3.给了一个购物流程,让设计测试用例

 

参考资料汇总:

http常见错误汇总

"100" : Continue 
"101" : witching Protocols 
"200" : OK 
"201" : Created 
"202" : Accepted 
"203" : Non-Authoritative Information 
"204" : No Content 
"205" : Reset Content 
"206" : Partial Content 
"300" : Multiple Choices 
"301" : Moved Permanently 
"302" : Found 
"303" : See Other 
"304" : Not Modified 
"305" : Use Proxy 
"307" : Temporary Redirect 
"400" : Bad Request 
"401" : Unauthorized 
"402" : Payment Required 
"403" : Forbidden 
"404" : Not Found 
"405" : Method Not Allowed 
"406" : Not Acceptable 
"407" : Proxy Authentication Required 
"408" : Request Time-out 
"409" : Conflict 
"410" : Gone 
"411" : Length Required 
"412" : Precondition Failed 
"413" : Request Entity Too Large 
"414" : Request-URI Too Large 
"415" : Unsupported Media Type 
"416" : Requested range not satisfiable 
"417" : Expectation Failed 
"500" : Internal Server Error 
"501" : Not Implemented 
"502" : Bad Gateway 
"503" : Service Unavailable 
"504" : Gateway Time-out 
"505" : HTTP Version not supported 
HTTP 400 - 请求无效 
HTTP 401.1 - 未授权:登录失败 
HTTP 401.2 - 未授权:服务器配置问题导致登录失败 
HTTP 401.3 - ACL 禁止访问资源 
HTTP 401.4 - 未授权:授权被筛选器拒绝 
HTTP 401.5 - 未授权:ISAPI 或 CGI 授权失败 
HTTP 403 - 禁止访问 
HTTP 403 - 对 Internet 服务管理器 (HTML) 的访问仅限于 Localhost 
HTTP 403.1 禁止访问:禁止可执行访问 
HTTP 403.2 - 禁止访问:禁止读访问 
HTTP 403.3 - 禁止访问:禁止写访问 
HTTP 403.4 - 禁止访问:要求 SSL 
HTTP 403.5 - 禁止访问:要求 SSL 128 
HTTP 403.6 - 禁止访问:IP 地址被拒绝 
HTTP 403.7 - 禁止访问:要求客户证书 
HTTP 403.8 - 禁止访问:禁止站点访问 
HTTP 403.9 - 禁止访问:连接的用户过多 
HTTP 403.10 - 禁止访问:配置无效 
HTTP 403.11 - 禁止访问:密码更改 
HTTP 403.12 - 禁止访问:映射器拒绝访问 
HTTP 403.13 - 禁止访问:客户证书已被吊销 
HTTP 403.15 - 禁止访问:客户访问许可过多 
HTTP 403.16 - 禁止访问:客户证书不可信或者无效 
HTTP 403.17 - 禁止访问:客户证书已经到期或者尚未生效 
HTTP 404.1 - 无法找到 Web 站点 
HTTP 404 - 无法找到文件 
HTTP 405 - 资源被禁止 
HTTP 406 - 无法接受 
HTTP 407 - 要求代理身份验证 
HTTP 410 - 永远不可用 
HTTP 412 - 先决条件失败 
HTTP 414 - 请求 - URI 太长 
HTTP 500 - 内部服务器错误 
HTTP 500.100 - 内部服务器错误 - ASP 错误 
HTTP 500-11 服务器关闭 
HTTP 500-12 应用程序重新启动 
HTTP 500-13 - 服务器太忙 
HTTP 500-14 - 应用程序无效 
HTTP 500-15 - 不允许请求 global.asa 
Error 501 - 未实现 
HTTP 502 - 网关错误



逆波兰式其实就是后缀表达式,其形式进行将运算表达式进行转换,操作数放在操作符前面,比如:

a+b

其对应的后缀表达式:a b +

遵守这个原则,那么下面这个复杂的运算式:(a+b)*(c/d+5)

对应的逆波兰式:ab+cd/5+*


其中对应的优先级:

PrecedenceOperatorDescriptionExampleAssociativity
1 ()
[]
->
.
::
++
--
Grouping operator
Array access
Member access from a pointer
Member access from an object
Scoping operator
Post-increment
Post-decrement
(a + b) / 4;
array[4] = 2;
ptr->age = 34;
obj.age = 34;
Class::age = 2;
for( i = 0; i < 10; i++ ) ...
for( i = 10; i > 0; i-- ) ...
left to right
2 !
~
++
--
-
+
*
&
(type)
sizeof
Logical negation
Bitwise complement
Pre-increment
Pre-decrement
Unary minus
Unary plus
Dereference
Address of
Cast to a given type
Return size in bytes
if( !done ) ...
flags = ~flags;
for( i = 0; i < 10; ++i ) ...
for( i = 10; i > 0; --i ) ...
int i = -1;
int i = +1;
data = *ptr;
address = &obj;
int i = (int) floatNum;
int size = sizeof(floatNum);
right to left
3 ->*
.*
Member pointer selector
Member pointer selector
ptr->*var = 24;
obj.*var = 24;
left to right
4 *
/
%
Multiplication
Division
Modulus
int i = 2 * 4;
float f = 10 / 3;
int rem = 4 % 3;
left to right
5 +
-
Addition
Subtraction
int i = 2 + 3;
int i = 5 - 1;
left to right
6 <<
>>
Bitwise shift left
Bitwise shift right
int flags = 33 << 1;
int flags = 33 >> 1;
left to right
7 <
<=
>
>=
Comparison less-than
Comparison less-than-or-equal-to
Comparison greater-than
Comparison geater-than-or-equal-to
if( i < 42 ) ...
if( i <= 42 ) ...
if( i > 42 ) ...
if( i >= 42 ) ...
left to right
8 ==
!=
Comparison equal-to
Comparison not-equal-to
if( i == 42 ) ...
if( i != 42 ) ...
left to right
9 & Bitwise AND flags = flags & 42; left to right
10 ^ Bitwise exclusive OR flags = flags ^ 42; left to right
11 | Bitwise inclusive (normal) OR flags = flags | 42; left to right
12 && Logical AND if( conditionA && conditionB ) ... left to right
13 || Logical OR if( conditionA || conditionB ) ... left to right
14 ? : Ternary conditional (if-then-else) int i = (a > b) ? a : b; right to left
15 =
+=
-=
*=
/=
%=
&=
^=
|=
<<=
>>=
Assignment operator
Increment and assign
Decrement and assign
Multiply and assign
Divide and assign
Modulo and assign
Bitwise AND and assign
Bitwise exclusive OR and assign
Bitwise inclusive (normal) OR and assign
Bitwise shift left and assign
Bitwise shift right and assign
int a = b;
a += 3;
b -= 4;
a *= 5;
a /= 2;
a %= 3;
flags &= new_flags;
flags ^= new_flags;
flags |= new_flags;
flags <<= 2;
flags >>= 2;
right to left
16 , Sequential evaluation operator for( i = 0, j = 0; i < 10; i++, j++ ) ... left to right


Linux下常用命令可以从我这里下载,我之前从网上搜集过一个比较全的版本:

/Files/weisteve/Linux常用命令全集.rar 

 

进程的三个状态:就绪 执行 阻塞

三个状态的关系:

 (1) 就绪->执行

处于就绪状态的进程,当进程调度程序为之分配了处理机后,该进程便由就绪状态转变成执行状态。
 (2) 执行->就绪
处于执行状态的进程在其执行过程中,因分配给它的一个时间片已用完而不得不让出处理机,于是进程从执行状态转变成就绪状态。
 (3) 执行->阻塞
正在执行的进程因等待某种事件发生而无法继续执行时,便从执行状态变成阻塞状态。
 (4) 阻塞->就绪
处于阻塞状态的进程,若其等待的事件已经发生,于是进程由阻塞状态转变为就绪状态。

 

 网络按覆盖范围分为:

局域网 城域网 广域网 

 

 

记得x&(x-1)每进行一次操作,其实是去除了x中的最后一个1,那么x的二进制有多少个1,此操作就进行了几次循环,遵循这个思路,上述程序只要写出

其二进制形式就得出结论。 

 

 

第四题编程题,

这题实际上就是求六个数,可以相同,也可以两两不同, 但总和要等于50

这题属于基本题。自己写程序吧。

后续的n!也是属于基本题,但是题目考察的各种异常,请记得罗列出程序的可能异常。

比如:越界,等于0,负数,等等

 

java前端的不熟悉,略过

 

 

 

posted @ 2011-09-25 20:51  Eric.wei  阅读(477)  评论(0编辑  收藏  举报