新浪研发中心笔试题

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

新浪网研发中心招聘笔试题

姓名:申请职位:

一、开发能力部分:

通用题

1. 尽可能多的写出各种语言的 hello world! 程序(C、Shell、Perl、Python、Java等等)

C语言部分

1. 判断ABCD四个表达式是否正确, 若正确, 写出经过表达式中 a 的值

int a = 4;

(A)a += (a++); (B) a += (++a) ;(C) (a++) += a;(D) (++a) += (a++);

a = ?

2. 请问运行下面的 test 函数会有什么样的结果

char *allocate (void) {

char p[] = "hello world";

return p;

}

void test (void) {

char *str = NULL;

str = allocate();

printf("%s\n", str);

}

3. 比较 char *p 和 char p[10] 的区别

4. 完成如下所示的宏定义,其作用是将接收到的两个参数的值互换

#define EXCHANGE(x, y) \ 在不利用其他函数的情况下,完成如下所示的函数,其功能是将src所指向的n

个字节的内容,复制到dest所指向的位置

void memcopy(void *dest, void *src, size_t n) {

完成下面的程序,其功能是利用两个线程同时执行 print_a 和print_b 两个函数

void print_a () {

printf("A\n");

}

void print_b () {

printf("B\n");

}

int main (int argc, const char **argv) {

当执行上题中的程序时,"A"和"B"以不定的顺序打印到屏幕上,请对上题的程

序进行改进,要求如下:

1). 两个线程同时执行函数 print_a 和 print_b

2). "A"和"B"能够依次打印到屏幕上,即"A", "B", "A", "B", "A", ....

8. 根据如下的单向链表结构,写出一个函数用于将其参数中指定的链表进行反

转,其返回值为新链表的头

struct link_list {

char *value;

struct link_list *next;

};

struct link_list *reverse(struct link_list *l) {

编写一个程序,判断给定的单向链表是否是回文的,其中,链表的结构如上题

所示,回文定义如下:

对于给定的单向链表,如 'A' -> 'B' -> 'C' -> 'B' -> 'A',其中

'A','B','C'为链表节点所存储的值,

如果链表中的值是关于中心对称的,则称这个链表是回文的

int is_palindrome(struct link_list *l) {

文本分析

按要求使用两种方法取出password中shell出现的次数

第一种方法结果:

4 /bin/bash

1 /bin/sync

1 /sbin/halt

31 /sbin/nologin

1 /sbin/shutdown

第二种方法结果:

/bin/sync 1

/bin/bash 1

/sbin/nologin 30

/sbin/halt 1

/sbin/shutdown 1

{

A[$7]++

}

END{

For (x in a

Print x,a[x]

}

Awk –F :

2. 文件整理

employee文件中记录了工号和姓名

:

100 Jason Smith

200 John Doe

300 Sanjay Gupta

400 Ashok Sharma

bonus文件中记录工号和工资

:

100 $5,000

200 $500

300 $3,000

400 $1,250

要求把两个文件合并并输出如下

处理结果:

400 ashok sharma $1,250

100 jason smith $5,000

200 john doe $500

300 sanjay gupta $3,000

3. 打印本机的交换分区大小

处理结果示例:

Swap:1024M

Free –m | awk –F : '$1~/swap/{print $2}' |awk ' {print }'

4. 打印当前sshd的端口和进程id

处理结果示例:

port pid

sshd: 22 5412

awk ‘$1~/^port/{print $2}’ /etc/ssh/sshd_config

pidof sshd

#!/bin/bash

Ifconfig eth0 |awk –F “: | +”‘/Mask/{ print $4}’

5. 输出本机创建20000个目录所用的时间

处理结果示例:

real

user

sys

6. 在目录/tmp下找到100个以abc开头的文件,然后把这些文件的第一行保存到文

件new中

Find /tmp –name “abc*”–exec hend -1 {}

7. 把文件b中有的,但是文件a中没有的所有行,保存为文件c,并统计c 的行数

二、系统能力部分

相关文档
最新文档