2014年实习生招聘之爱立信上海研发中心实习生招聘部分笔试题—2014/04/17
来源:互联网 发布:基线网络监控管理系统 编辑:程序博客网 时间:2024/04/29 05:07
爱立信武汉招聘是在武汉理工大学进行的,笔试题全部是英文,以下是几个我做的不好和不会做的题目,1、2、3题是我翻译成中文的。
1.有个Student,包含姓名,性别,年龄属性,完成下列函数,这个函数的功能是删除列表中某个年龄的所有学生。函数的声明如下:
void delete(Student* list, int age)
注:自己定义数据结构。
解答:
#include <stdio.h>#include <stdlib.h>typedef struct node{int data;struct node* next;}node, *LinkList;typedef node* Student;//头插法建立不带头结点的单链表LinkList createLinkList(){int i;node *head=NULL,*cur,*end;//head是第一个结点,end指向链表的最后一个结点while((scanf("%d",&i)) != EOF){if(head == NULL){head = (node*)malloc(sizeof(node));head->data = i;head->next = NULL;end = head;}else{cur = (node *)malloc(sizeof(node));cur->data = i;end->next = cur;end = cur;}}end->next = NULL;return head;}void delete(Student* list, int age){//list实际上是node**类型,因为有可能要改变list//比如list为2 2 2,要删除2,则list变为空了,所以需要使用指针的指针node* pre = NULL;//需要删除的结点的前一个结点node* pNode = NULL;node* tmpNode = NULL;if((*list) == NULL)//如果链表为空return ;while(*list != NULL && (*list)->data == age){//找到第一个值不是age的结点//循环条件不能写反,否则会出错tmpNode = *list;*list = (*list)->next;free(tmpNode);}pNode = *list;while(pNode != NULL){if(pNode->data == age)//如果当前结点的值等于age{tmpNode = pNode;pre->next = tmpNode->next;pNode = pNode->next;free(tmpNode);}else{pre = pNode;pNode = pNode->next;}}}void printLinkList(LinkList head){while(head){printf("%d ",head->data);head = head->next;}}int main(){LinkList list;int age; list = createLinkList();printf("输入为:");printLinkList(list);printf("\n");printf("输入需要删除的结点的值:\n");scanf("%d",&age);delete(&list,age);printf("删除后:\n");printLinkList(list);printf("\n");return 0;}
2.简单描述下TCP3次握手(最好用图描述)。
解析:
在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接,如图1所示。
(1) 第一次握手:建立连接时,客户端A发送SYN包(SYN=j)到服务器B,并进入SYN_SEND状态,等待服务器B确认。
(2) 第二次握手:服务器B收到SYN包,必须确认客户A的SYN(ACK=j+1),同时自己也发送一个SYN包(SYN=k),即SYN+ACK包,此时服务器B进入SYN_RECV状态。
(3) 第三次握手:客户端A收到服务器B的SYN+ACK包,向服务器B发送确认包ACK(ACK=k+1),此包发送完毕,客户端A和服务器B进入ESTABLISHED状态,完成三次握手。
完成三次握手,客户端与服务器开始传送数据。
3.用户在淘宝网上把某一本书加入了购物车,当这本书降价了,系统会通过邮件、电话等形式告诉用户书降价了,请用相关代码实现这个功能(有一种设计模式适合这种情况)。
解析:
import java.util.Vector;public class TestObserverPattern { public static void main(String[] args) { Book book = new Book("大话设计模式",63.50); User u1 = new User("Kobe",book); User u2 = new User("James",book); User u3 = new User("Wade",book); book.setPrice(63.50); book.setPrice(62.50); book.setPrice(60.50); book.setPrice(56.50); }}abstract class subject { private Vector<Observer> vector = new Vector<Observer>(); public void addObserver(Observer observer) { vector.add(observer); } public void deleteObserver(Observer observer) { vector.remove(observer); } public void notifyObervers() { for(int i=0; i<vector.size(); i++) { ( (Observer)vector.elementAt(i)).update(); } }}interface Observer { void update();}class Book extends subject { private String name; private double price; public Book(String name, double price) { this.name = name; this.price = price; } public String getName() { return name; } public void setName(String name) { this.name = name; } public double getPrice() { return price; } public void setPrice(double newPrice) { double oldPrice = price; this.price = newPrice; if(!(oldPrice - newPrice > -0.000001 && oldPrice - newPrice < 0.00001)) notifyObervers(); }}class User implements Observer { private String name; private Book book; public User(String name,Book book) { this.name = name; this.book = book; book.addObserver(this); } public void update() { System.out.println("用户 " + name + " 被通知书—《"+ book.getName() +"》的价格发生了变化,新价格为:" + book.getPrice()); }}
4.how to put a job to run in the background? How to put a backgroundto foreground?(Unix/Linuxcommand)
解析:bg——将程序搬到后台运行;fg——将程序搬到前台运行。
5.How to print a core stack in Unix/Linux?
解析:这题不大懂意思,有知道的请指教啊。
Result:笔试通过
- 2014年实习生招聘之爱立信上海研发中心实习生招聘部分笔试题—2014/04/17
- 2014年实习生招聘之爱立信上海研发中心实习生招聘面试—2014/04/18
- 2014年实习生招聘之百度上海研发中心实习生招聘电话面试—2014/04/18
- 2014年实习生招聘之武汉光庭信息技术有限公司实习生招聘部分笔试题(Java)—2014/04/14
- 2014年实习生招聘之杭州华三通信技术有限公司实习生招聘部分笔试题—2014/04/10
- 2014年实习生招聘之多益网络实习生招聘笔试题—2014/04/17
- 2014年实习生招聘之华为实习生招聘笔试题(上机完成)—2014/04/02
- 阿里巴巴2014实习生招聘研发工程师笔试题
- 2014年实习生招聘之腾讯实习生招聘面试(一面)—2014/04/01
- 科大讯飞2014届实习生招聘笔试题
- 科大讯飞2014届实习生招聘笔试题
- 阿里巴巴集团2014实习生招聘笔试题
- 阿里巴巴2014实习生招聘笔试题
- 2014阿里暑假实习生招聘笔试题
- 腾讯2015实习生招聘笔试题部分
- 2014年阿里武汉实习生招聘笔试题
- 2014年阿里巴巴数据分析师实习生招聘笔试题
- 2014金山网络实习生招聘——Android笔试题
- MFC如何使用GDI+,button加载png
- php://input,php://filter,data URI schema的那些事
- Android Makefile and build system 分析
- 在eclipse中配置maven
- 开发一个简单的Android应用
- 2014年实习生招聘之爱立信上海研发中心实习生招聘部分笔试题—2014/04/17
- hdu Uncle Tom's Inherited Land*(1*2矩阵覆盖,最大匹配)
- HowTo: Add Jobs To cron Under Linux or UNIX?
- iOS旋转动画
- 外国小伙秤
- classpath和classpath*的差异
- 那些强悍的PHP一句话后门
- Winform开发框架主界面设计展示
- Invalid file system control data detected