博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
微软2014校园招聘笔试试题
阅读量:6224 次
发布时间:2019-06-21

本文共 8556 字,大约阅读时间需要 28 分钟。

转载请标明出处,原文地址:
1、Which statement(s) is(are) correct about thread and process?Select all that apply.(5 Points)
A、Threads share the same address space of the parent process;Processes share the same address space of the parent process.
B、Changes to the main thread(cancellation,priority change,etc.) may affect the behavior of the other threads of the process; Changes to the parent process does not affect child processes.
C、Multiple threads mar cause deadlock,while multiple processes won't cause deadlock.
D、Threads can directly communicate with other threads of its process; Processes must use inter-process communication to communicate with sibling processes.
E、None of the above.
2、Which statement(s) below regarding TCP(Transmission Control Protocol) is(are) correct? Select all that apply.(5 Points)
A、TCP provides a way for applications to send encapsulated IP datagrams and send them without having to establish a connection.
B、TCP supports multicasting.
C、Port numbers below 1024 are called well-known ports and are reserved for standard services. For example,port 21 is reserved for FTP protocol, and port 25 is for SMTP protocol.
D、TCP handles package loss reliably.
E、None of the above.
3、Initialize integer i as 0, what's the value of i after the following operation?(5 Points)

i += i > 0 ? i++ : i --;

A、-2
B、-1
C、0
D、1
E、2
4、Which of the follwing sequence(s) could not be a postorder tree walk result of a binary search tree?(5 Points)
A、1,2,3,4,5
B、3,5,1,4,2
C、1,2,5,4,3
D、5,4,3,2,1
5、When a dll is loaded into memory, which part(s) can be shared between processes?(5 Points)
A、code segment
B、static variable
C、global variable
D、external difinitions and references for linking
E、BSS segment
6、How many times is f() called when calculating f(10)?(5 Points)
int f(int x){	if(x <= 2)		return 1;	return f(x - 2) + f(x - 4) + 1;}
A、14
B、18
C、20
D、24
E、None of the above.
7、Asume you have an object to describe customer data:(5 Points)
{
  ID(7 digit numeric)
  Family Name(string)
  Account Balance(currency)
}
If you have 500,000 Chinese customers records represented by instances of this object type , what set of data structures is best to get fast retrieval of customers (1) get IDs from Name and (2) get Name from ID?
A、(1) Tree with Hash(100 bucket) at leaves(2) Tree with linked list at leaves.
B、(1) Tree with linked list at leaves(2) Array.
C、(1) Tree with linked list at leaves(2) Hash(10,000 buckets)
D、(1) Sort linked list(2) Array.
8、Let's assume one type of cancer may be mis-diagnosed in the examination. 5 out of 100 people with this cancer will be diagnosed as not having it , and 1 out of 100 people without this cancer will be diagnosed as having it. We know the chance of getting this cancer is around 0.1%. One person was examined and diagnosed of having this cancer, which of the following value if the closest to the chance of is really having it?(5 Points)
A、90%
B、50%
C、30%
D、10%
9、In which case(s) would you use an outer join?(5 Points)
A、The table being joined have NOT NULL columns.
B、The table being joined have only matched data.
C、The columns being joined have NULL values.
D、The table being joined have only unmatched data.
E、The table being joined have both matched and unmatched data.
10、As shown in the graph , start from node B , traverse the nodes on a Depth-First Search(DFS) algorithm , which is(are) the possible traversa sequence(s)? Select all that apply.(5 Points)
A、BADECF
B、BADEFC
C、BCAFDE
D、BCFDEA
E、BFDECA
11、The best time complexity of quick sort algorithm is:(5 Points)
A、O(lgn)
B、O(n)
C、O(nlgn)
D、O(n*n)
12、Which of the following method(s) CANNOT be used for Text-encryption:(5 Points)
A、MD5
B、RSA
C、RC4
D、DES
MD5是不可逆加密,不能够用来加密文本,DES和RC4是对称加密,RSA是不正确称加密,都能够用于文本加密。
13、To speed up data access , we build cache system. In one system , The L1 cache access time is 5 ns , the L2 cache access time is 50 ns and the memory access time is 400 ns. The L1 cache miss rate is 50% , the L2 cache miss rate is 10%. The average data access time of this system is:(5 Points)
A、5
B、30
C、45
D、50
E、55
14、Which is(are) valid function pointer declaration(s) below ? Select all that apply.(5 Points)
A、void* f(int);
B、int (*f)();
C、void (*f(int , void(*)(int)))(int);
D、void (*(*f)(int))();
15、Which of the following method(s) could be used to optimize the speed of a program ? (5 Points)
A、Improve memory access pattern to decrease cache misses.
B、Use special instructions(e.g. vector instructions) to replace compiler generated assembly code.
C、Change an algorithm from recursive implementation to iterative implementation.
D、Loop unwinding.
16、Which regular expression(s) matches the sentence "www.microsoft.com" ? (5 Points)
A、^\w+\.\w+\.\w+$
B、[w]{0,3}.[a-z]*.[a-z]+
C、.[c-w.]{3,10}[.][c-w.][.][a]|.+
D、[w][w][w][microsoft]+[com]+
E、\w*
17、In the image below , if the function is designed to multiply two positive numbers which line number in the image contains the biggest functional bug(assume no overflow)? (5 Points)
A、Line 1
B、Line 2
C、Line 3
D、Line 4
E、Line 5
18、Which of the following can be referred to as attack method(s)? Select all that apply.(5 Points)
A、Vulnerability scan
B、SQL Injection
C、Drive-by downloading
D、Brute force
19、A table CANNOT have one or more of the following index configurations.(5 Points)
A、No indexes
B、A clustered index
C、clustered index and many non-clustered indexes
D、Many clustered index
20、Which of the following is(are) true about providing security to database servers ? Select all that apply.(5 Points)
A、Do not host a database server on the same server as your web server
B、Do not host a database server on a server based system
C、Do not use blank password for SA account
D、Employ a centralized administration model
第二部分測试时间为60分钟,满分50分。请务必在回答问题前细致阅读变成题目。您能够选用C、C++、C#或者Java 当中不论什么一种编程语言,而且保证您的代码能够正确编译和有正确的结果。另外,请一定要注意您的代码的质量。
21、Given a singly linked list L: (L0 , L1 , L2...Ln-1 , Ln). Write a program to reorder it so that it becomes(L0 , Ln , L1 , Ln-1 , L2 , Ln-2...).
struct Node{	int val_;	Node* next;};
Notes:
1、Space Complexity should be O(1) 
2、Only the ".next" field of a node is modifiable.
代码:
//转载请标明出处,原文地址:http://blog.csdn.net/hackbuteer1/article/details/12190807struct Node{      int val_;      Node* next;  };Node* reverse_list(Node* phead)   //链表反转{	Node *temp ,*curr , *pre , *reverse_head;	pre = NULL;	curr = phead;	while(curr->next)	{		temp = curr->next;		curr->next = pre;		pre = curr;		curr = temp;	}	curr->next = pre;	reverse_head = curr;	return reverse_head;}Node* Merge(Node* slow , Node* fast){	if(fast == NULL)		return slow;	if(slow == NULL)		return fast;	Node *head , *result;	result = NULL;	int i = 0;	while(slow && fast)	{		if(0 == i)		{			if(NULL == result)			{				head = result = slow;				slow = slow->next;			}			else			{				result->next = slow;				slow = slow->next;				result = result->next;			}		}		else		{			if(NULL == result)			{				head = result = fast;				fast = fast->next;			}			else			{				result->next = fast;				fast = fast->next;				result = result->next;			}		}		i ^= 1;	}//while	if(slow)	{		result->next = slow;	}	if(fast)	{		result->next = fast;	}	return head;}Node* reorder_list(Node* phead){	Node *r_head , *slow , *fast;	r_head = slow = fast = phead;	while(fast->next != NULL && fast->next->next != NULL)	{		slow = slow->next;		fast = fast->next->next;	}	if(slow->next == NULL)		return r_head;	fast = slow->next;	slow->next = NULL;	slow = phead;	fast = reverse_list(fast);      //链表的后半部分反转	r_head = Merge(slow , fast);    //链表归并	return r_head;}
转载请标明出处,原文地址:
转载请标明出处,原文地址:http://blog.csdn.net/hackbuteer1/article/details/12190807struct Node{	int val_;	Node* next;};//将链表分成前后两部分,前一个链表长度 >=  后一链表长度Node* list_half(Node* head){	Node* half = NULL;	Node* fast = head, *slow = head;	while(fast && fast->next && fast->next->next)	{		slow = slow->next;		fast = fast->next->next;	}	if(slow)	{		half = slow->next;		slow->next = NULL;	}	return half;}//反转后一个链表Node* list_reverse(Node* head){	if(NULL == head)		return NULL;	Node* prev, *curr, *reverse_head, *temp;	prev = NULL, curr = head;	while(curr->next)	{		temp = curr->next;		curr->next = prev;		prev = curr;		curr = temp;	}	curr->next = prev;	reverse_head = curr;	return reverse_head;}//合并两个链表Node* list_merge(Node* first, Node* second){	Node* head = first;	Node* temp;	while(second)	{		temp = first->next;		first->next = second;		second = second->next;		first->next->next = temp;		first = temp;	}	return head;}Node* list_reorder(Node *head){	Node* half = list_half(head);	Node* half_head = list_reverse(half);	head = list_merge(head, half_head);	return head;}
转载请标明出处处,原文地址:
你可能感兴趣的文章
离职辞职终极指南
查看>>
关于IP和PV的知识
查看>>
linux CentOS6.5 yum安装mysql 5.6
查看>>
《跟我学Shiro》
查看>>
MQL:资金管理语句块
查看>>
spring boot 枚举类转换
查看>>
Java动态代理
查看>>
2016年12月22日 阿里云技术分享
查看>>
Laravel 中简约而不简单的 Macroable 宏指令
查看>>
Essential Studio for JavaScript发布2017 v3版本,支持统计图表
查看>>
Rancher 2.0 的第一印象
查看>>
mysql 导出select语句结果到excel文件等 一、导出数据外部
查看>>
简单易用的东西
查看>>
CRC循环冗余校验码
查看>>
最近有人说我欺骗消费者,今天来一波视频分享
查看>>
12306买票难的一些思考
查看>>
SQL 总结
查看>>
我所理解的JVM(二):类加载机制
查看>>
sql语句查询某表里是否存在重复数据
查看>>
linux shell
查看>>