The day before yesterday, Microsoft's Asian Engineering Institute took the country's first round of written examination, which was arranged in the Xi'an test area in xidian. There were a lot of people, but it should be less than one thousand.
The 15-page exam is divided into A (B) and must be completed in three hours. All the questions are answered with a pencil. WC is not allowed in the middle. PS: Full English questions. In general, it is still very basic. There are many algorithms and data structures, and there are still some reasoning questions, but this time it is not difficult (there are not many conditions ). Of course, programming questions are indispensable. However, these questions mainly test your understanding and habits of the program.
After a night's sleep, I don't remember much about my questions. I just remember a few questions that I was very impressed with. Unfortunately, I was so impressed ....
I Basic
This part has nearly 20 multiple choice questions and a number of fill-in questions, a wide variety of scattered content, mostly about the data structure and C/C ++ language, as well as software engineering, testing methods, some Questions of the stateless network; the blank question is the result of the completion of the read program, of course, there is a more complex logic question.
1. What regular expression cannot describe?
A) two consecutive even numbers
B) two consecutive odd numbers
....
2
Int S (int v)
{
Int COUNT = 0;
Int x = V;
While (X)
{
Count ++;
X = x & (x-1)
}
Return count;
}
S (9999) =?
3. About the heap sorting, insert the new element and the result
4. Relationship between. h and. c files in C Language
5. If the data size is doubled, whether to move the data to the left or right
6. What output (forward, middle, or later) is the number of binary sorting, which is the sort
7. A stack in the order of 1, 2, 3, 4, 5, and 6 enters a queue in sequence, and then enters the stack. What is the sequence?
8. Questions about array pointers
9. What is the relationship between regular language and context language.
A) regular language more powerful than Context Free language
(The next two options are unclear. The general idea is to compare the two. The last option is that the two cannot be compared)
10 are you sure you want to check for errors when writing code or use testing?
11 it seems that the compiler can modify the type error.
Logical Reasoning
A linear garage with five rows and five cars. A car can take up to two people.
6. Tom, Jack, gawen, Laurie, Mark, Paul.
. Mark exclusive car followed by empty car
Tom does not take a car with gawen or Paul.
. Laurie shares the car with others.
. Gawen is in the third or fourth row.
There are a total of five questions. Obviously, the vehicle sequence cannot be determined through four conditions. Some questions are the possibility of the question, and some are the question of the car sequence after the additional conditions.
Programming section.
1 translate MIPS assembly code into a function in C/C ++
* Your code shocould be concise
* No any Gotos/pointers
MIPs code:
FUNC:
Li $ v0, 0
Li $ T0, 0
L1:
Add $ T1, $ A0, $ A0
LB $ T2, 0 ($ T1)
Beq $ T2, $ zero, L3
BNE $ T2, $ A1, L2
Add $ v0, $ v0, 1
L2:
Add $ T0, $ T0, 1
J L1
L3:
JR $ Ra
(Caller register: $ t0 ~ $ T9, $ a0 ~ $ A3, $ V0 ~ $ V1; callee $ S0 ~ $ S7, $ RA)
Then, the instruction table is listed. Li is the value assignment, LB is the content of the first register after the field is copied to the second register, and beq is the equivalent transfer. Ben is the non-equivalent transfer, J is unconditional transfer, and Jr is transferred to the content indicated by the register.
Insert, search, and delete arrays.
ARR is a pointer to an array.
Len is the length of the array.
Count indicates the number of array elements.
Error returned-1
Int insert (int * arr,
Size_t Len,
Size_t count,
Int Val)
Returns the inserted array index.
Sort the array after insertion.
Error Handling
Int search (int * arr,
Size_t Len,
Size_t count,
Int Val)
The returned element is required.
Error Handling
Int remove (int * arr,
Size_t Len,
Size_t count,
Int Val)
The deleted element value must be returned.
Error Handling
Test Section.
1. You are assigned to Internet Explorer R & D department (from the core to the interface). How do you design, develop, and test it?
2. How should you test a DVD? If you have very limited time, what would you test? Why?
3. give you a character comparison function strcmp (const char * string1, const char * string2) and the meaning indicated by its return value, (> 0, = 0, <0), design a test case
4. A string replication program that identifies its errors and potential defects.
Finally, I will discuss the question. Only this question should be answered in English, and all the above can be answered in Chinese.
The question is what kind of important decisions have you made in the past year, why have you made such a decision, and the impact of this decision on you, have you reached your goal of making a decision. what are the gains.
Q: What problems have you encountered in the past year? How did you solve them? Did you solve them with others or by yourself? If you have reached your goal in the decision-making period, what are your gains.
The latest Microsoft Asian Engineering Institute FAQ:
Http://research.microsoft.com/asia/atc/Online_FAQ.asp