I have been in China South University for seven years.

Source: Internet
Author: User
Tags rounds

 

Http://blog.csdn.net/pongba/article/details/4202575

-- On the first day of the university, I knew that I was free.

My father was a strong fan of new things. The first TV set in the village was self-assembled by him. At that time, all the villagers ran and watched it. Only one TV set was received, CCTV. Landline phone is the first installation. When he first appeared, he was the first to buy it. At that time, mobile phones were really expensive.

The second most important thing my father told me was to find a book if I had any problems. He is completely self-taught in his major. In a non-self-defined major (after buying a computer, you need to learn how to set up a company website, how to perform online marketing, how to perform electronic financial management, and how to use various plotting software, etc) they all rely on books to learn by themselves.

Why are we talking about these two things? This is the two most influential habits in my life. The first habit gave me a strong motivation to learn new things. with enthusiasm and interest, I don't feel tired when doing things. The second habit gave me the way to learn anything new-no? Check the books. (Of course, learning a major is not just about reading a book, but it is undoubtedly a crucial way .)

My father bought a computer when I was in my third year of high school. I had a strong interest in this magical thing. Every issue of "Computer lovers" and "Computer newspaper" will be carefully read, sometimes you can see all kinds of gadgets and tips that will be excerpted and go back to your home machine. At that time, I did not know that such a simple interest would lead me to a professionalProgramStaff Road.

The time for the third year has become increasingly tight, and the time for interest distribution has become less and less, but the spark of interest has never been extinguished.

On the first day of the university, I knew that I was free.

This freedom does not mean that I can do anything, but that I get an important freedom of decision-making, that is, how to use my time.

During the college entrance examination, I received a report from the computer system, but the score was a fraction of the gap. I was transferred to the second volunteer major-information and computing science. At that time, I thought this major was related to computer science and found that it was a mathematics department. Later, I heard many people say that they all joined the same role.

Here is a strange thing: I didn't mean to go To the mathematics department. If I knew that this major was a mathematics department, I might not fill it out. However, due to this mistake, I have also been trained on basic mathematical skills in the Mathematics Department (although this training is based on a few mathematical analysis courses in my freshman year, as well as the routine "night package" reading by the dormitory brokers before the exam), I looked back and found that this basic skill helped me a lot later, and even I was very interested in mathematics for a while. I have to say that this learning experience exercises abstract and logical thinking. On the other hand, difficulties such as mathematics are all learned, and they are not difficult or discouraged by other disciplines.

This is one of my luck as I grow up. As we will mention later, there are several more lucky times.

Freshman year and last semester soon passed. It should be at the next semester of freshman year that the school will open a C ++ course. I used my vacation to basically get rid of my textbooks. At that time, I had a very simple motivation. I had to get rid of my textbooks and I didn't have to go to class.

Another thing is that I often like to go to a bookstore. Many people on the "deep dive into MFC" page of Hou Jie say this book is good, at that time, I had some basic understanding and affection for C ++, so I just bought it. On the one hand, the books written by Mr. Hou Jie are indeed illustrated, simple, and interesting. On the other hand, understanding something complicated is an intellectual challenge. So I am very interested in watching it. But I don't know if it's close to C ++.

This is another joke: Why is it "beating? Because the design of MFC is not the best practice of C ++, on the other hand, if it is based on the use, it may not be necessary to thoroughly understand the principle of MFC. So it seems that I will not read this book carefully. Why is it true? Because it takes a long time to understand a puzzling thing, it is impossible to practice comprehension and mental strength (Focus). On the other hand, although MFC is not the best design, it can be understoodCodeBut it has strengthened its understanding of C ++ itself, which is a basic skill. It has also strengthened its interest in C ++, which is the motivation, later, this motivation drove me to look at a lot of underlying knowledge of the system, from the operating system code to see the hardware architecture.

In my sophomore year, there were several important things: First, I published the first technology on a programmer.ArticleIs to analyze the boost source code. I don't remember when or how to know the boost library. In short, I knew it, and I also went through the analysis of Mr Hou Jie's source code.Source codeIt was difficult to find out. The more difficult it was, the more interesting it was. When the tracking code arrived at, it became more and more interesting. Later, I quickly wrote a source code analysis. Mr. Meng Yan, the technical editor of programmer magazine, gave great encouragement to me. Later, I analyzed n libraries, wrote a series of articles on boost source code analysis, and found this series on the Internet.

This is the second joke. It is reasonable to say that studying language skills is not the best way for programmers to invest time. So now I may not do this, and I will think there is a better way to invest time. But at that time, I went in. Why? Although this may not be the best way to invest time, it is always better than nothing else. At least so deeply, I have a deeper understanding of the defects and traps of the language, and have exercised patience in code and debugging (yes, patience, not skill ).

So I summarized the detours that I learned in programming on my blog. Mr. Meng Yan said that it is not so easy to define whether it is a detour.

Indeed, there may be a better path, but it is really difficult to determine which path is the best in advance. What we can do is to make a clear and deep path, as long as it is not a very unreliable road, there will always be a lot of gains in the in-depth process. As long as it is not too stubborn and good at reflection, one day it will gradually become more and more reliable.

In addition to publishing the first technical article, I also used my spare time to make some technical translations. During the winter vacation, I sat at home and translated half a chapter titled Objective C ++ every night. of course, when I submitted the translation to the publishing house for editing, I was told that the text was still stiff.

At the same time, I continued to chew on N more C ++ books and books with underlying knowledge. For a while, my bookshelves were full of these books, not just mathematics students. During the time of SARS, I bought books for all my meals. Why was it so crazy? Because of my father's influence, he told me that I don't have to worry about buying books because it is a long-term investment, the benefits are far greater than the money invested. During that time, I was watching and writing some code to play. There were small programs that imitated the core programming of windows, and there were also small games that failed and failed, there are also tools used to analyze game files used for dormitory games, as well as libraries written for the computer examination. In short, they have had a great deal of fun; unlike many well-known programmers who have written widely used tools in their schools, I didn't have this idea at all, and I didn't know what open source was, so I just had to entertain myself, therefore, there is no system training code and coding literacy, which is relatively blind.

Another important thing happened in the second half of my sophomore year. I wrote a blog on csdn and started to summarize the process of learning C ++ and programming. I have been writing this blog today. With my learning and growth over the past seven years, I can look back and see what I have been paying attention to along the way, just like a time-machine, what do you think, and how do you change your views on some things. If you do not record these things, you will gradually forget them, and you will not be able to refer to yourself in the past to provide a better reference for the future. Therefore, I always regard records as a very important tool. In addition, I also met many friends through this blog and got a lot of help.

Later, the school provided the opportunity to transfer to the Software Institute, And I registered immediately. I spent the next two years at the Software Institute. But in fact, I also arranged my own time, so there is no difference.

Mr. glory invited me to translate imperfect C ++, and I would like to answer it, I didn't expect this book to be much more dense than I thought, with six hundred pages and a dense typographical layout. I arranged 6 or 7 pages of paper per day for myself, it took about half a year to complete the translation. There was a period of stagnation in the middle. Mr. Glory gave me encouragement and told me an important way: if I felt that I couldn't do it anymore, I would stick to it with my scalp, and then it would be similar to being numb, adapted, the feeling of being discouraged will gradually be automatically removed. It's amazing and simple, but it's just like this. It's so easy to get over that tough time. After translating this book, I still have a lot of gains, but I always think that training in character is the most valuable achievement.

Second, I started to read books in English. Previously, due to the high school's unreliable English education, I hate English, and the second-level four courses in college still fail to take exams until the fourth year. However, my passion for technology has been overwhelmed by my dislike of English. I have made a hard copy of the album, and I am very interested in it. This book is Jeffrey Richter's "applied. NET Framework programming". The importance of this incident was that I was no longer disgusted with English and feared it. This was the first and second, I began to realize that the English worldTechnical materialsHow rich is there, so although it does not seem to be a too many events, it is a tipping for me to get information.
Point. Once you have mastered the language platform, there is a door behind it, leading to a massive amount of information sources. Later, the vast majority of my information will come from English, among them, Wikipedia and the English version are many. Another benefit will be mentioned later.

Another thing happened when I graduated from my senior year. Microsoft Eric Jiang found me through my blog and recommended me to go to Microsoft for an interview. I casually sent my rough resume to me, almost because the resume was too rough, it was directly filtered out by HR. After two rounds of remote phone calls and one round of remote coding, I remember that I flew to Beijing for an interview and stayed at Beihang guest house. There were several rounds of interviews in Beijing, including bottom-layer knowledge, C/C ++,. net, andAlgorithm, Encoding literacy. In short, it is recognized as a basic test. In the end, I still failed the interview. I concluded later that the basic skills of algorithms are too poor. I don't even know what dynamic planning is, and the coding quality is not enough. This part is also because the undergraduate course's learning method is too amateur. What is fun to do? It doesn't mean that interest-driven is not good, It just lacks systematic planning, and you don't know or care about the blueprint in this field, it cannot be clarified what is the focus. Later, when I was studying it, I made up an algorithm to find out some basic concepts and thinking methods. The problem of coding literacy is that we started to think about and learn at the time of study and are still learning.

In addition, at the undergraduate stage, I actually wasted a lot of time. In fact, it only took a very small part of time to study. The reason why I learned something is completely dependent on the habit of focusing. In fact, this habit of focus is turned on by my father from an early age. My father will spend a whole day trying to figure out a problem. My father told me the story of his previous TV set-everything seems to be correctly assembled, however, TV sets do not work. He had to think about it. He woke up from his sleep that night and thought of the crux of the problem. Therefore, if I do not understand the underlying knowledge, I will read it over and over again, and then I will spend time walking, dining, and taking a taxi to ponder over and over again. I have many important habits influenced by my father. These habits are not noticed by myself, but they silently affect the time allocation and learning trajectory of 1.1 drops, these habits are hard to learn from paper, but they are naturally learned.

Whenever someone thinks that my undergraduate course has done a lot of things, I will say that my undergraduate course has really wasted a lot of time. On the other hand, it also shows that I need to master a professional knowledge, in fact, a little time every day, focus, accumulation and perseverance is enough. Later, when I was a graduate student, I really started my career. After two years of intensive learning and thinking, my mind became quite mature.

In my senior year, like many people, I also took the postgraduate entrance exam because I was quite confused. I also hoped that I could continue to immerse myself in a relaxed environment. However, in the past four years, I have arranged my own time and skipped countless courses. I have been in conflict with the model-based exam, so I have not prepared much for the postgraduate review, that year's postgraduate entrance exam was difficult, and I was so worried that I forgot to put a whole page of questions under the paper. How inadequate my mental preparation was. I am very frustrated when I finish the mathematics test. I have not done a question with a big score, and I cannot pass the mathematics test. I will not take the test in the next professional course. Later, I thought that I should take a test to accumulate experience for the next year.

Later, I went to work. I didn't go to Microsoft. After being recommended by my classmate Zhang Zhen, I went to Nanjing Siemens. I plan to work and take a postgraduate entrance exam. Why does my postgraduate entrance exam have a simple motivation? I am not prepared yet. My undergraduate students only focus on learning and fun, I don't know what kind of work I want or what kind of work I want to do. After I went to Siemens, I felt that the efficiency was very low and I was not happy with what I was doing. I had to waste two hours on the shuttle bus every day, so I quit my job in a short time. I plan to review my postgraduate entrance exam. At that time, it was about more than half a year before I got to the postgraduate entrance exam. So I translated predictional C ++ style in the middle, which took a lot of time and it was very tight, two or three months left before I began to recognize the truth. In retrospect, this was a bad time management. As a result, I had to make the worst plan: at most I transferred to the Software Institute for Research (I reported the computer department). Considering that I arranged my own time, the difference should not be big. Fortunately, it was almost impossible to get through the computer system. Even so, I still feel that this kind of thrilling things will not be so lucky in the future or other things. It is always important to prepare early.

During the two and a half years of study, I felt that my mind was growing most rapidly. There are also a few lucky things here. One thing is that my mentor, Mr. Chen Jiajun, gave me a lot of autonomy, so I was able to arrange some important learning times. This time is very important to me, I learned and thought a lot and made a lot of preparations for my future development, but I didn't help my mentor do anything. Therefore, I am grateful and embarrassed when I leave my master's degree.

Another thing is to know Chen huaixing, a fellow in the same lab. Strictly speaking, he first came to chat with me. It can be seen that at that time I still did not realize the importance of communicating with others. Later, after establishing a toplanguage discussion group, I became more aware of the importance of communicating with others and began to actively seek and participate in communication. I hope that I can organize communication in the future. Chen huaixing is very knowledgeable about algorithms and is also a frequent visitor and coder on topcoder. At that time, I was preparing some algorithm basics for future job interviews, so I often asked him to discuss them and benefited a lot. There is a saying: to read a person, you only need to read the book he reads and the person he sees. It makes sense that the two are the most valuable sources of information for a person's growth.

In the second half of my research year, my girlfriend needed marketing knowledge when looking for a job. So I went to find a book for her and ran into the book "influence". This book opened my eyes, let me start to focus on a very valuable field: How do we think and how do we think correctly. There are a lot of interesting and valuable books in this field. I used it for nearly a year, I have read nearly 40 related books (I put these books in the form of bean columns after sorting them out), which has the characteristics and defects of my thinking, and I have learned a lot about how to think about it. This kind of knowledge will give me a clearer understanding of myself and the various problems I face in my study and life.

In the second half of the year, I set up a Google groups project named toplanguage. At the beginning, it was because no one was discussing the problem, so it was so uncomfortable, later, more and more discussions were held in this discussion group. Over the past two years, the Group has more than 4,000 members. In the past two years, I have benefited a lot from this discussion group, with two of the biggest benefits: first, discussions with people can stimulate further thinking and encourage them to express their views or problems more clearly. It doesn't mean that others will tell you something new, but discuss the stimulation of your own thinking. Second, I met many friends during the exchange, and I was also very helpful when I was about to graduate soon. I have always regarded the creation of toplanguage as one of the most meaningful tasks at the graduate stage.

In addition, I consciously prepared English in advance, because I believe that if I want to go to a good foreign company, it is likely to become a short board (of course, english as a platform language that carries the most technical knowledge has greater value), including reading, writing, and speaking. I have come up with a solution that doesn't take any extra time to learn English: the training of reading is included in the reading of the usual technical documents in English. Try to read English as much as possible, first, the English documents are more informative and comprehensive. The written training is contained in sending technical posts to overseas email lists and writing your own blog articles. Oral English training is embodied in normal entertainment-American TV series. During the summer vacation, I almost slept with friends every day. In addition, I did not miss a speech from a foreign team at the school, but took the initiative to participate, I once took them out to Nanjing to speak English for a day and listened to the Chinese text on the road. Although there are not many times of communication with foreign friends, it seems that the increase in verbal feeling is quite great. Later, the last round of the interview at the Microsoft Asia Research Institute was in English, and it was technical. Fortunately, the interview was prepared in advance, so after all, I successfully expressed what I wanted to express.

I went to the Microsoft Asia Research Institute for an interview because I was lucky enough to meet Mr. Yan Xin, Project Director of the technology innovation group of the Microsoft Asia Research Institute. During that time, Mr. Yan Xin and his team wrote "the beauty of programming", which had many interesting questions. During that time, I discussed algorithms with Chen huaixing, I also organized a special discussion in the discussion group and had some superficial thoughts. As a result, I sent an email to Mr. Yan Xin, who was very interested in the work done by the Technical Innovation group, so I recommend myself to him when I look for a job.

According to Mr. Yu Xin's suggestion, after three years, I once again got the opportunity to go to Microsoft for an interview. This time, due to some long-term preparations made during the postgraduate course, I had a lot of confidence in my mind, and I was quite calm. I spent a lot of time completing the loopholes in the knowledge system, therefore, the interview was smooth. During the interview, Mr. Yan Xin gave a more detailed description of the work of the technology innovation group. I am more interested, so although there are several other good choices, but I made a quick decision. About a week later, HR informed offer that I did not hesitate to accept it.

I think, although many people have learned what they want to do, it's not too late for me to spend more than two years.

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.