This is the most painful interview I encountered, entered the building to the 7 floor, the first reflection of cotton is dark and shabby desk, give me a very bad impression. At that time, I was going to turn around and take into account the one-hour car coming or the side. First comes the HR, come in to introduce the company's business, work hours, overtime and bonuses and other issues. I am very angry that as a software development, but also the annual two or three months of travel time? Then there was the idea of getting ready to go. One side is the technical side, estimated to be a team leader, age more than 30, hand took my resume and a piece of paper, it seems that the above is written to ask questions. A full sheet of paper.
Talk about the projects you have done, the modules that are responsible for those projects, the features of the software, and, by the way, your answers to some of the C + + knowledge that may be involved. These are not a problem, after all, I have also done a large project, some problems are relatively clear. Asked about the design pattern, this I also have some research and application, and he talked about several design patterns, this plan and he wash the agent mode and adapter mode (this landlord project used more) was he skipped, at that time doubt this kid is not understand design mode? Then ask the multi-threaded synchronization mutex, and the multiple process communication problem. Of course, these questions have been studied by the landlord in the words. This type of question and answer is grouped into the following questions:
1. When do I use multithreading?
2. What are the advantages and disadvantages of multithreading?
3. What are the issues to be aware of when using multithreading? How to solve? (talk to him.) thread synchronization and mutual exclusion of several methods, critical area, signal volume, time, mutual exclusion, and more detailed discussion of the similarities and differences between these methods, in combination with the project, the actual in which scenes to use, look at his appearance, I know he may have not figured out
4. Some tasks use one process for multiple threads and multiple processes at the same time to handle how to choose? (landlord first think of performance, if a task of execution compared to occupy the memory or CPU, and the role of a single can open up a process, and then multi-process communication to solve the problem, other situations with multi-threaded, and then explained that interprocess communication will be relatively slow, compared to occupy resources, the communication between the threads will be slightly faster, Landlord self-feeling to answer some of the truth)
5. Asked a few layers of software design architecture (server, business logic, interface)
6. When asked about the software architecture, the problem of the database was asked by the way. Contact the database (SQLite), and then asked in multiple table query optimization problem (this landlord really do not know how to answer, directly say do not know), but also asked the database storage structure (really no impression, direct answer do not know), asked the database how to query, how to insert delete instructions (this landlord still understand some of the, SQLite Open source database, and he pulled some of the inside of the function, it is estimated that he did not touch SQLite and skipped)
7. Then ask the network structure, 7-tier architecture, which 7 layers (this university textbooks remember a little, back out a few, and then asked what layer of IP?) Nonsense of the physical layer, do not know right)
8. Followed by the pursuit of the socket programming (I rub this landlord out of the book has seen outside, it is useless, direct talk about the project has not been contacted, only know that there is this thing, will not use, and then also have been chasing after the socket of the principle of communication? The brain is sick)
9. What about algorithms? (certainly understand Ah, then asked several sorts, asked several sorts actual use in how to choose?) Landlord with his pull with time complexity, related to memory consumption, combined with these two factors to choose, revealed a few sorts of advantages and disadvantages, such as heap sorting occupy large memory, the amount of data impact speed, unexpectedly tell me the answer is related to data volume, do not know if I say he is not listening)
10. What are the advantages and disadvantages of starting an object-oriented, multi-inheritance? (The landlord seriously doubt whether he standard Mandarin, let him repeat several times, the landlord has forgotten the meaning of multiple inheritance, do not know whether a base class derived multiple subclasses, or a few classes down to derive a string of classes, and then directly forget, please tell him what the meaning of the noun, when it is learned that a base class derived multiple subclasses, Can't remember how to answer, cold
11. What is the principle of object-oriented implementation? (To be honest, the landlord hates others to ask some conceptual questions, rather than to set pen questions, but this problem landlord still know, the answer is through the inheritance of the class, with the base class pointer can point to its derived class, the advantage is that in the run can identify which derived class, run-time recognition)
12. What kind of problems should be noticed in class design? (and then told him a single duty, explained some)
13. What are the benefits and disadvantages of class inheritance? (Landlord answer delicious is to reuse the characteristics of the base class, code reuse, and then he asked the other ways to implement code reuse?) Landlord stuck, think of will, answer in addition to the class of inheritance there are combinations, did not think correctly, ha haha, and then asked how to choose the combination of inheritance, and she explained, if a few classes together to complete a work, use combination, anyway not very clear answer it?
14. There are a lot of problems, do not remember, anyway very comprehensive, the interviewer Putonghua has a problem, please he said a few times STL, said I do not understand, and then asked him to write on the paper, I wipe so simple question also asked. Asked about the storage properties of several containers, how to choose, map structure? have been explained. I believe the answer is right.
15. Generic programming-related issues? There is no user generic programming, certainly used Ah, the project code inside the bottom implementation are used generic programming. Talk about the related issues.
And so there are some other landlord can't remember the problem, give me the feeling, so pit dad? Asked the conceptual questions of the afternoon, without a written examination. Without coding, ask questions. Because the interview of the reception room in their company, so see the work environment, very crowded. The stairs are where employees smoke. It feels bad. One side on the past, looked at the phone, took 1.5 hours, probably waited for 10 minutes (personal feeling very long AH), and then HR came in to tell me one side through, and so will the technical manager to two side, I wipe, and wait for about 10 minutes of appearance, come in a white fat man, is self introduction? Talked about the reasons for the last few departures. The content and nature of the work. Chatting for a while, began technical aspects, but also multi-threading problem, this study, speak more clearly, then asked the software three-layer architecture, communication synchronous asynchronous problem, synchronous asynchronous how to get results, if you know the data sent to the server is successful? (the reply synchronization waits for the server to return the result, waiting for the message callback asynchronously). Then it is the socket, it seems that one side of the interviewer noted that I am in the socket of this lack? Then we chatted about the company culture and asked if I had any questions to ask him. Direct Answer No. Then the HR came in to talk about salary, then the interview has been nearly three hours, I can't wait to go, talk about yarn, that there are software engineers also travel, directly want to go. Then tell me what the company is regular Ah, 14 annual salary, good welfare, Provident Fund is high ah what what. It's a bullshit. Although the salary offered is a little bit less than what I asked for. But I can't accept the atmosphere. Directly said can not accept travel, find reason to want to withdraw, HR more anxious, said today will offer to my mailbox. Come to this week to reply. I said a good sound and left.
Remember a C + + interview record