A non-computer science students self transcoding road

Hutchison ago

        It seems time again to spring trick, and see a variety of experiences posted, I recall my two years hard transcoding self-road (they have gone in a lot of detours) , I feel it is necessary to write it, may help to a lot of determination Service student code.

        First, let me explain my situation, bloggers central region 985 mechanical engineering undergraduate admission to mention love of professional, but still non-exclusive, freshman when in contact with the C programming language, that time may be due to teaching I do not like the way suited to lead programming, and then I spent almost two years ago in the mechanical modeling, mechanical design, microcontroller. However, I choose to go goose code is just a chance, that's what I fear stm32 (A SCM), and a huge amount of code chips, I look very hard, so I was forced to carefully re-learn programming, so out of control let me have a go of the idea of ​​programming.

Preliminary study

        I suggest we start with our colleagues from C and C ++, after all, compared to other languages, some of his more ancient, powerful function can also be a number of ( here not discuss that language better, or will quarrel ), talking about learning C ++, many people will recommend C ++ primer plus entry, yes, this is an excellent learning materials, but in my little white introductory programming course, I would think this be a range from introductory and advanced between the book it is not suitable for people new to programming, but I found some interview book in for some more thorough knowledge of speaking , so I recommend learning path is:

  1. Hao strong C language programming (the most basic introductory book) is strongly recommended that school exercise play again, because just to get the students of logic and math skills level is much stronger than the code level, the situation is prone to unrealistic expectations, turn out to be less They will hand out bug
  2. C ++ primer plus Chinese version, which is C ++ best-selling books, and recommended read, to learn the use of C ++ parts of the library-based, time and perseverance can be the part of the hand of interest knock again (whole knock on inconsiderate a)
  3. Programmers interview notes C / C ++, algorithms, data structures which are Redbook, I think this book in C ++ 11 top new features explained more clearly than C ++ primer plus to a number of vivid, inside and explain a lot of classical algorithms interview questions, you can refer to, the most important thing is to understand the concept of

        I can relate my own experience wrong, I was a little on the C language will look at C ++ primer plus a hard bite, spent a lot of time, part of the function, class template, several smart pointer part of the knowledge or stumbled, last resort give up, when I finish school data structure, a lot of brush back to see OJ topic when we come to understand, and it is recommended that you learn to preliminary concept-based, real learning process is iterative theory and practice.

Advanced Learning

        Here the main method of learning to write, I spent the most time in this top, one of the reasons that I like the best way to solve it. I began to understand that in most courses in a little bit of data structures (only know the name), so I find this most classic of the data structure C language book began to read, but due to my lack of knowledge of the system data structures , soon to be discouraging ...... I thought it was my math skills is not enough, then went to study discrete mathematics, mooc + course textbook, out for a few weeks, and finally stuck in graph theory, I thought is a lack of understanding of topology, bought this topology (that this yellow) hard to chew ... Finally frustrated, the good news is I think the answer system with newly enrolled in school acm development team, so by taking into account brush title to improve myself, so I wrote some of the easiest topic in the POJ, Hangzhou electric OJ, then have a friend recommended to me leetcode, so in the process of brush leetcode, I slowly found the learning rhythm. So here I recommend learning process are:

  1. Understand the concept of data structure and function, the code has some skills may choose to reproduce all the data structures it again, just to get the students also do not be afraid to brush the question of the process will be more profound understanding.
  2. OJ go to some sites, such as customer meter garlic, beef passenger network, etc., which can be submitted online, better than many schools of OJ, inside you can choose the difficulty, start with the basics, you can also go to some sites, such as preparation for high school students contest : Luo Valley, I'm not too ashamed and discuss with a group of high school students, after all, as good as others, you have to humbly ask. When you can deal with basic topics after you can see the third, because many sites are ready for the ACM and NOIP, after all, we learn not to race, but to do the project into the company.
  3. In leetcode brush the top title, recommended to choose easy difficulty, from the first question began to brush, brush about 50 subject to suit, leetcode features are not burdensome AC, but every problem has an optimal solution, as far as I currently, the vast majority have seen easy topic can be done in linear time. Then you can brush categorical questions, mainly a few algorithms must be skilled, such as violence, divide and conquer, DFS, BFS, dynamic programming, greedy, and related topics are data structures: linked lists, stacks, piles, each there are drawing trees, leetcode of graph theory, the subject may be out of relatively simple, if you feel weak on your graph theory also can go to the website of acm painted some problems.
  4. When you reach the top middle title in leetcode you can think for a moment or debug the solution can come out, then it is considered to be a written examination.

        I was in sophomore and junior year began to brush the question, that time can be class-based courses and most of the time, so I spent nearly two semesters to write the title, leetcode wrote about the top 400, a week training solution 3 big problem, and occasionally the whole solution can come out, if we insist brush every day, up to three months should be on it, and then I went to interview with confidence, voted CVTE, fight a lot of early retirement Tiqian Pi, the results of the interview a mess , after careful reflection I found that the concept is not solid, which is why I put my programmer interview notes C / C ++, algorithms, data structures into the front, be sure to lay a solid foundation and concept!

Interview Preparation

        First of all have a resume, then go to the investment company, and then waiting to be pass

        Hardware ready I will not say a lot of blog said very clearly, and I'm ready to talk about my experience, I have always felt a great job algorithm to force the grid positions, and began actively preparing knowledge of machine learning, which probably in my junior year began to prepare, yes, that is the time to vote immediately began to resume, I have always thought that the algorithm is the data structure, but I was wrong when I realized that when time is running out I went online to find a course, a machine learning algorithm succinctly as small college (I'm not advertising), then the algorithm is a typical example: LR, SVM, decision trees, random forest, adaboosting push again, During that time I was not even on the course, every day learning algorithm, and finally I voted Huawei algorithm Kong, really hard work pays off, I was accepted, and machine learning to do is work, but also by the supervisor and mentor praise, but I finally choose to continue their studies, did not remain with the company. One year later, just this year, Huawei's software Championship with Huawei cloud, I was doing the project is also about Huawei's cloud, though I know the code I wrote is absolutely impossible to use, but still there are so a sense of pride . I'm still doing the work of algorithms and software, but I still love it, or very lucky transcoding year resolutely.

        Give you advice:

  1. I interviewed several companies: cvte, fight a lot, Jingdong, Huawei and so on, I found that the company can still look forward to the students of the culture, even if the code did not work, as long as the rich experience will add points
  2. Note: Do not mess ed experience, ask not answer so go die
  3. Computer theory, network technology, database these parts we still need to prepare, but these algorithms has nothing to do with the language and I did not in the top list
  4. Be sure to write well written, do our best, because good written tests, interviews will be extra points, the interviewer to see results

 

        Finally, we will recommend a daily habit to brush the question becomes , can allow himself to remain hot hand, make it more difficult topics can continue to improve their logic level

 

Published 54 original articles · won praise 80 · views 10000 +

Guess you like

Origin blog.csdn.net/qq_41685265/article/details/105166892