Microsoft interview in Suzhou--machine learning & Natural Language Processing

Source: Internet
Author: User

Blog Park has been open for three years, the first time to write essays to record the interview experience of Microsoft in Suzhou.

Landlord one months ago in the campus BBS to see the social Recruit information released by the company, Suzhou, Microsoft's research and development position is more interested in e-mail to help within the push. The younger brother very readily promised, not long received the Suzhou Microsoft interview phone.

    • Telephone interview

The phone interview first did a simple self-introduction, and then the recent project, the next step is to start asking programming and algorithmic questions. Object-oriented polymorphism and hidden concepts, priority to the implementation of the column, heap sequencing initialization process time complexity (landlord this question answer wrong, should be O (n), understand the heap sort of time complexity). Algorithm problem: To determine whether a single-linked list link point, find the link point entry point (Landlord did not think well, the interview finished their own drawing to deduce out). At the end of the interview, the interviewer said it felt good and would invite on site for an interview later. Sure enough, two days after the HR phone came, in the Dragon Boat festival after arranging a trip to Suzhou.

    • Side

The landlord from Shanghai to Suzhou Microsoft exactly 10 points, the interview arranged at 11 points. I had a little water and a snack at Microsoft's Pantry, and then the first interviewer in charge of the interview took me into the interview room and told me that today's interview will be in this room. May be because 6 o'clock in the morning get up too early, head still a bit dizzy, landlord closed his eyes to repose, quiet waiting for the first interview officer coming. On one side is an SDE, simply chatted about the recent project, he seems to my recent machine learning project is very interested in, want to know how we do, I balabala ... Half an hour left, and the algorithm problem started: A file contains multiple network segments (IP address/subnet mask) that require merging them. The landlord thought, this is not a route aggregation, and then finally converted to 01 string the longest common prefix problem. I told him about my analysis, but he said it was wrong (I still doubted my approach) and then asked me if I knew the prefix tree was not. I thought of the last with Trie tree, add marker bit solved.

    • Two sides

Two side is a mathematics department of my university is also SDE, the simple self introduction, he also is interested in my machine study project. After 10 minutes, it's an algorithmic problem: the maximum continuous product of an integer array is obtained, and the subscript i,j is output. The landlord wanted to think, this is the standard dynamic planning, but to consider the negative situation, to use a two-dimensional array (current maximum, the current minimum value). The landlord uses a global variable to save Max Max, a variable to save the last end of the subscript J, and finally to start the subscript I when the landlord is using Max to start by dividing the array value until 1, forget the special case processing maximum value is 0 (directly return to J,J). Then is a matrix problem to find the number of connected regions: a n*n matrix, the elements are 1 or 0,0, 1 means that the four-way connected 1 form the connected region, the matrix of the connected area and the maximum connected area of the element 1 number. Landlord think of the next is not similar to the relationship between the circle of friends (a know b,b know c,a c), you can use and check set to do, think with Hashtable to save each location of the elements and the elements of the set of membership, connected elements in the same set. But the landlord in writing code when the main card, if an element to the left of the element in a connected area, the above element in another connected area, the element belongs to the connected area is two semantic (after the interview came back to think, directly to the two set merge not solved). The interviewer then prompts Dfs to be enlightened. But when he prompts me, I also give a low-efficiency solution: Each 1 is initialized to 1 sets, and the collection element is the position of the 1 (i,j). If there are two positions in two sets, the two sets are placed in a union. The number of sets at which this operation terminates is the final result.

    • Three sides

Three sides is a very tall interviewer SDE2, he also interested in machine learning project, I began to Balabala, and then he asked me the KNN classifier training process is how, perhaps the interview is a bit tired, the brain a way not answered (actually this I have seen, KNN's training process is mainly in the search for the most suitable k). Then again the algorithm: to a series of CPP files, each file contains several include (maybe 0), now give you a target file, all the legitimate compilation order. For example file D.CPP include A.CPP and C.cpp,c.cpp also include B.CPP, then the legitimate compilation order is Abcd,bacd,bcad three kinds, landlord at that time painted the next structure a little to the tree (in fact, the figure, Because it is possible that all files depend on a CPP, such as A.CPP and B.CPP, all depend on E.CPP. After the interviewer tip is a diagram, the problem is transformed into a topological sort, the landlord of the topology sort some understanding, take the degree of 0 node, remove and output, until all the nodes are output. But the landlord at that time stuck in how to print all the legal sequence, actually come back after the landlord thought, with the stack to save and restore the state is not on the line! After the interview came back to Shanghai, I wrote the code, and the test passed.

    • Four

Four is a 35-year-old SR DE, chat with him about the next group of major projects, and then start the algorithm: the number of k in the array, the landlord at the time of this kind of problem has been compared to the heart should also launch, told him I am ready to borrow the partion thought of the fast line, through the partion after the subscript position to find. Then again the whiteboard code, his brain ran the next process, the interviewer looked after the feeling can. Then is the N-gram problem related to their project, there is a large file on the hard disk, the computer memory is not big enough, how to seek all the n-gram of this file. The landlord thought of the next, immediately think of the queue, but this queue size is fixed n. satisfies the length n to output one n-gram, otherwise is the queue, merges the team the same time the team. So the memory overhead space is O (N), a pointer to maintain the read peripheral files, the interviewer was very satisfied after listening. Then immediately the interviewer asked how to get all the less-n-gram at once, namely 1-gram,2-gram ... N-gram. The landlord thought, put a few sentries on the queue placed at the end of the first word, the second word end position ... The end position of the nth word, so that each time the scan from the queue head to the Sentinel position is 1-gram,2-gram ... N-gram, the next step is to repeat the queue, the team operation. However, the interviewer suggested that this method has a flaw, the first n-1 words (queue length has not reached N) need to be counted, but harmless, because n is generally not big (their models generally not more than 3).

    • Boss Face

After the end of the four sides, is already 4 points. The interviewer told me to wait for a chat with boss, but boss is meeting in Beijing, wait for me on Skype. About one hours, boss late, simple self introduction, Boss began to ask me some work habits, personality, and colleagues, with the United States colleagues, some of the soft issues. Boss also pay more attention to my machine learning project background, I undertake the work, before have the experience of machine learning, but also asked me whether specifically for the interview brush questions prepared under. To tell the truth, brush problem preparation is there, but Microsoft's face test is very few out of the box, but the process of the brush to understand some of the previous learning process of some concepts not deep understanding of the place. His deepest feeling is now encountered in the recursive aspects of the binary tree deep experience, thoroughly understand the role of various traversal and in the binary tree-related algorithm in the bottom-up thinking to solve the problem of the high efficiency of the algorithm. With boss chat very happy, finally boss told me, he went to and HR prepare offer of things. Here, I think the Battle of the day finally has a good result, the mood suddenly enlightened.

Two days later, I wish to receive HR phone, tell me the title of the offer is SDE2, tell me the base of Suzhou. I thought about how soon I would leave Shanghai and put myself in the arms of Microsoft.

Microsoft interview in Suzhou--machine learning & Natural Language Processing

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.