您好,欢迎访问三七文档
新浪网研发中心招聘笔试题姓名:申请职位:一、开发能力部分:通用题1.尽可能多的写出各种语言的helloworld!程序(C、Shell、Perl、Python、Java等等)C语言部分1.判断ABCD四个表达式是否正确,若正确,写出经过表达式中a的值inta=4;(A)a+=(a++);(B)a+=(++a);(C)(a++)+=a;(D)(++a)+=(a++);a=?2.请问运行下面的test函数会有什么样的结果char*allocate(void){charp[]=helloworld;returnp;}voidtest(void){char*str=NULL;str=allocate();printf(%s\n,str);}3.比较char*p和charp[10]的区别4.完成如下所示的宏定义,其作用是将接收到的两个参数的值互换#defineEXCHANGE(x,y)\//starthere5.在不利用其他函数的情况下,完成如下所示的函数,其功能是将src所指向的n个字节的内容,复制到dest所指向的位置voidmemcopy(void*dest,void*src,size_tn){//starthere}6.完成下面的程序,其功能是利用两个线程同时执行print_a和print_b两个函数voidprint_a(){printf(A\n);}voidprint_b(){printf(B\n);}intmain(intargc,constchar**argv){//startherereturn0;}7.当执行上题中的程序时,A和B以不定的顺序打印到屏幕上,请对上题的程序进行改进,要求如下:1).两个线程同时执行函数print_a和print_b2).A和B能够依次打印到屏幕上,即A,B,A,B,A,....8.根据如下的单向链表结构,写出一个函数用于将其参数中指定的链表进行反转,其返回值为新链表的头structlink_list{char*value;structlink_list*next;};structlink_list*reverse(structlink_list*l){//starthere}9.编写一个程序,判断给定的单向链表是否是回文的,其中,链表的结构如上题所示,回文定义如下:对于给定的单向链表,如'A'-'B'-'C'-'B'-'A',其中'A','B','C'为链表节点所存储的值,如果链表中的值是关于中心对称的,则称这个链表是回文的intis_palindrome(structlink_list*l){//starthere}SHELL部分(实现下面要求的SHELL脚本,可以使用perl,sed,awk等)1.文本分析按要求使用两种方法取出password中shell出现的次数第一种方法结果:4/bin/bash1/bin/sync1/sbin/halt31/sbin/nologin1/sbin/shutdown第二种方法结果:/bin/sync1/bin/bash1/sbin/nologin30/sbin/halt1/sbin/shutdown1{A[$7]++}END{For(xinaPrintx,a[x]}Awk–F:a.awk2.文件整理employee文件中记录了工号和姓名employee.txt:100JasonSmith200JohnDoe300SanjayGupta400AshokSharmabonus文件中记录工号和工资bonus.txt:100$5,000200$500300$3,000400$1,250要求把两个文件合并并输出如下处理结果:400ashoksharma$1,250100jasonsmith$5,000200johndoe$500300sanjaygupta$3,0003.打印本机的交换分区大小处理结果示例:Swap:1024MFree–m|awk–F:'$1~/swap/{print$2}'|awk'{print}'4.打印当前sshd的端口和进程id处理结果示例:portpidsshd:225412awk‘$1~/^port/{print$2}’/etc/ssh/sshd_configpidofsshd#!/bin/bashIfconfigeth0|awk–F“:|+”‘/Mask/{print$4}’5.输出本机创建20000个目录所用的时间处理结果示例:real0m3.367suser0m0.066ssys0m1.925s6.在目录/tmp下找到100个以abc开头的文件,然后把这些文件的第一行保存到文件new中Find/tmp–name“abc*”–exechend-1{}7.把文件b中有的,但是文件a中没有的所有行,保存为文件c,并统计c的行数二、系统能力部分1.说明linux内核与linux发行版的关系,列举一些内核提供的功能和发行版提供的功能来说明其区别。2.描述linux的一般启动过程,从bootloader到出现login。3.列举linux常见的本地文件系统和网络文件系统,并说明其适合的应用场景。4.列举linux中常用的性能和问题分析工具,并简单举例如何用这些工具来分析实际问题。5.说明系统调用和库函数的区别。6.描述tcp协议建立连接和断开连接的过程。7.请说明poll()select()和epoll()的区别8.列举常见的虚拟化技术,并说明其优缺点。9.请描述LVS的DR方式实现原理。10.请说明NAS和SAN的区别和共同点。以及列举出适合的使用场景。11.写出你曾使用过的高可用集群的产品。并描述其特点。12.请解释这个shell脚本的含义::(){:|:&};:13.请说出你对apache,nginx,squid和其他你知道的web应用软件的特点的理解。14.请说出你对mysql和oracle数据库的特点的理解,并描述其适用场景。15.你是怎么看待系统运维工作的?16.请简要分析LB集群4层实现和7层实现的优缺点。17.请说出你使用过的监控软件,并分析他们的特点。
本文标题:新浪研发中心笔试题
链接地址:https://www.777doc.com/doc-743537 .html