In this paper, the scope of technical basis is expounded from the perspective of transboundary small white, please combine with your own actual consumption <( ̄3 ̄)> table!
2020.9.11 Update -> * Added C/C++, Linux programming learning materials
2020.9.14 Update -> * Added recommended books, summary of Linux interprocess communication, revised part of the speech, and adjusted the layout
2020.9.15 Update -> * Added some associated videos
2020.9.16 Update -> * Added net-based videos and some recommended books
2020.10.18 Update -> * Added ali Dashen Guji interview video
Update -> * Add chicken soup content, if you can’t stick to it, please see the pressure on yourself
preface
Programming this road can go far, how long can go, see a point: you learn not to understand. Learning depends on whether you can learn, so how long you can program, how much you’re worth, and ultimately whether you can learn
We learn from an early age, but would you learn again once you were out of the stressful environment of school? Are you still learning? The gap between software industry practitioners is due to the different learning efficiency
Have you ever agonized and wondered:
Why are there more people in the school than in the society?
Why do big factories only want graduates with good foundation?
Why do Silicon Valley interviews only ask about data structures and algorithms?
Why does dAFang assign mentors and guides to new people?
Why big factory new growth here fast, others half a year top me 3 years?
Why my 5 years of experience is inferior to the small fresh meat that does 1 year in big factory?
These were the questions that had puzzled me, but something told me that if you could find the answers, you would be on the road, you could walk, you could reach the heights that you admired and dreamed of! After many times of thinking, to this year I was almost slightly shun the front and back, today issued to everyone appreciation
Today to share, including some learning materials, but more important is to clearly tell everyone, why you can’t learn, how to learn well, how to learn is the highest efficiency. Take it from me, Android 2 years of advanced will not be a problem
Common problems in learning
1. Blindly pursuing the latest technology without evidence
New technology comes every month, every day rises, every year new, come out one you see one, but are you really anxious to learn it? Are you in a hurry to use it in a project? Really let you use you dare to use, you have the right to use?
Have you ever thought that how many things I don’t know, don’t understand, obscure, project urgent, left over, and the technical debt I owe you all pretend to be blind?
You should know which ones are top priority and which ones can be put aside. Just like in project development, make a burnout chart. It will scare you to death. Of course, it is also your ability to list this graph, many people have not listed it. But if you ignore it, it’s a flight. Practical, pragmatic should be our daily
2. Learn a little here and a little there
Software development is an engineering project, and the technology also has the same characteristics as the engineering project, that is, the technology is highly integrated and cooperated with each other. The whole project is the product of the combination of theory and practice, and the highly integrated technology
How do many people study? Just read blogs! Today, A wrote this, so I read this; Tomorrow B wrote that again and I went to see that again. Aside from switching back and forth between different technology points in a short time, do you have time to learn it? How do you form a knowledge system, just to talk about the left and right? Failure to integrate your knowledge with each other is fatal in the software industry. Especially this way of learning a little bit here and there is really going to kill you. After a year of learning this way, I dare say you will only learn a few individual knowledge points, not the whole picture
But just too many people are like this, you shout study every day, I study, learn during the day, learn at night, but still can’t learn, you don’t want to think where is the problem?
3. If you don’t write down notes, you’ll forget them all
I once wrote an article (Why Tech People Should Blog about Tech) on the consequences of not blogging, which is that you learn what you’ve learned and forget what you’ve learned. Everyone should know that no photographic memory, even if you learn at that time again transparent, after 2 months without, you can forget nothing. If you work hard all day to see, all day to learn, a year down, the end of the year when you remember how much you remember? Is learning like this really meaningful? A waste of time! This is a kind of anxiety – based mental illness, is a kind of torture for their own.
Someone else’s article is someone else’s, does not mean that you read it is your own, can only say that you know there is such a knowledge point. You see why the great gods write blog, because the great gods hard extract the essence it will forget, so write blog out, one is to share, one is to write an article in the process of refining refining, sharing can still have fame
4 foundation is weak, principle, source code I just can’t learn
Have a friend to see the principle, see the source code:
- OKHttp source code read not understand, thread pool, block queue I did not learn, network programming point also do not understand, the design pattern is only heard, I do not understand why the class design is so complex, there are so many classes
- Glide source code don’t understand, design pattern forgot, don’t understand the class structure why so design, all say, but I just don’t understand where good
- MMKV does not understand, how to achieve fast file storage? To see how it works, virtual memory, file mapping, Mmap, all of these things, have never heard of
- How AMS works, how system services work, and how Binder communications work
- I’ve been practicing custom View for many times, but I still can’t use canvas and paint
- Hey, this looks great. How did you draw it
- The video is so deep. How did you do it? Look at the article also do not understand ah, the product let me add something in the player page, but how to change this, the player style is not dead, I will only add a mask in the top good, but I see big god are their own custom player, good advanced ah
5. Backward learning
- MMKV today, completely can not understand. Look for blogs and see articles about using virtual memory. No, I went to look at virtual memory, and after a few days, I still don’t understand it. Then there are articles that use the principle of file mapping, read a number of resources and finally understand the point. But the mmap() function just doesn’t understand. User space, kernel space, things like that. A month passed, finally is to see almost, although the point to see almost, but are half meng do not understand, the whole knowledge is also difficult to string together
- Look at OKHttp source code, which has thread pool, and Socket, it took the better part of a month, finally is OKHttp source whole
The most terrible way of learning is backward learning, you will not go hard to see OKHttp source code, generally everyone has some understanding, experience, shallow code can see a general, when you see not to see the knowledge point to look at the data, and then a little further, is generally so to learn, the article is written in this way
I personally strongly criticize this way of learning, OKHttp is what you know, to achieve network functions, a lot of code is very complex, which will definitely involve network programming, design patterns, multi-threading knowledge, and all these knowledge will be applied. A lot of what also won’t, a little basic have no small white directly to see OKHttp source code, this is not called learning, this is called hard to see. You have no basic knowledge, even if you don’t meet the information, you can really understand the whole framework? The design ideas, the essence of the idea, the technical strategy you certainly can’t absorb, these are the most valuable part, the interview high play is focused on listening to you say this part
Too many people look at finished code when they don’t know anything about it, instead of first consolidating and learning the basics involved. I call this retrograde learning. This kind of learning way, and its low efficiency, difficulty is extremely high, the effect is extremely low. You clearly know what basic knowledge will be involved, why don’t you read all these basic knowledge before you look at OKHttp? If you don’t have the same level of basic knowledge as the author, you can’t understand the author’s ideas, and you can’t understand the author’s feelings, technical thinking and decisions when he writes the framework
What is a good way to learn
After 3 years of thinking and practice, I hope I can help you
1. Prioritize your studies
Don’t worry about the new technology that comes out every day. If you put it aside first, others will go to the pit first. If you learn the knowledge points that make you impossible to move an inch, these are the obstacles in your way
Lay a solid foundation for yourself. Lay a good foundation first
Too much fruitless study is because your foundation is not good, since you do not understand that do not force, should go to see the basic knowledge of use. In the case of OKHttp, if you don’t understand the source code, guess what the basics are. If not, learn the basics of network programming, design patterns, multithreading, and then look back at OKHttp. How many do not understand, and how many do not understand. You go to the Internet to see those OKHttp articles, you will scold: what this article, what are written, garbage, oh ~ so ah, I know, I understand…… That’s the right way to open it
3. Focus on big things
Don’t focus on one thing today and another tomorrow. For a single point of knowledge, use short, focused time to get that point settled before moving on to other things. Then take a break. For large pieces of knowledge, plan your time and focus on the time to bite down one point at a time before looking at others
4. Learn systematically
The knowledge points in the field of programming are all related to each other, whether it is the learning stage or the use stage. Broken, unstructured, and mutually unverifiable pieces of knowledge are not going to help you. Whether they don’t or not, you won’t really understand. Learning must be a field of knowledge once all learn in place, this is the most correct expansion
Let me just reiterate the importance of basics
The foundations are unstable and the earth is shaking!
For example, when we study math, we all learn first:
Arabic numerals -> mathematical symbols -> addition and subtraction -> multiplication and division -> multiplication table -> equation -> formula theorem
Since childhood we learn, in school is from difficult to deep, that why put into the software field, programming industry, we forget, we always look at the top of things, always can not see where the technical foundation shouts you quickly pay attention to it ak47 schematic item and loot added: ╰(yes □ ‘) added: ak47 schematic item and loot added: added: added: schematic item and loot in school
We usually use the open source framework/library, these are the final product of the software field, just like the formula theorem in mathematics, xiao Bai learning these source code is a peeling formula theorem layer by layer in-depth process, with the depth of learning, this process is like this:
Formula theorem -> equation -> multiplication table -> multiplication and division -> addition and subtraction -> mathematical symbols -> Arabic numerals
This process is what I described above as reverse learning, which is inevitable in the field of technology that is not fully mature, complete, and in place from scratch, but we have to know how much reverse learning it is
- As you read more technical articles, you suddenly develop a technical point, which is like seeing a new one
Formula theorem
- You’re going to go deeper and learn how it works and improve yourself, and that’s what you’ll find
The equation is
Knowledge, but the equation is the knowledge of the respect I have not learned, also don’t know, I also don’t know how many knowledge points, so I read many articles, Wolf spitting dates to learn 2 yuan 1 time equation of but I don’t know the formula 1 and 3 yuan, three yuan two equations, so I looked at very difficult, confusing, total feel ability not line, In fact, in addition to the 2 yuan 1 equation, but also need 3 yuan 1 equation knowledge - After going through thousands of risks, I finally opened the skill tree of 2 yuan 1 equation and 3 yuan 1 equation. I wanted to have a further look. Suddenly, I developed another one
Multiplication tables
Of thing, fortunately this thing is more studious, regular, knowledge point is very studious together - But when I am happy, I found that there are a large number of symbols and simple formulas in the multiplication table, but these I do not understand ah, so I one by one to find baidu, and a bloody wind, finally, I finally can barely understand this symbol and formula
- But eventually I became interested in these numbers, but I couldn’t and I didn’t want to see them, because everyone said interviews have to ask questions, so I had no choice but to harden my hair and take the time to look them up
Above is the push study, most of the time we can research and instruction into this layer, but when we look back, it’s hard for me to put these knowledge all strung together to make clear, the most I can more clearly understand part, this is what most people learn the norm: spend a lot of time, always learn don’t understand, don’t fully
But if you look at Arabic numerals -> mathematical symbols -> addition and subtraction -> multiplication and division -> multiplication tables -> equations -> formulas and theorems, these things are the basic knowledge, and when we have mastered the basic knowledge (network programming, design patterns, operating systems), you look at the framework, I got it. It’s not too complicated. I’ve got it all together
In programming this road, 10 times more difficult than clockwise counterclockwise, 10 times the power 1 not alarmist, who has made rapid progress in learning a certain foundation is very solid, to learn all kinds of application layer based problem will not be interrupted when I’m thinking, can complete absorption of ideas, need not again repeated many times, learning a point, so as to not quick to blame
Learning basic knowledge still has a very NB place, it is when you get the basic knowledge done, must form their own set of effective learning method, this will let the future learning, working journey onto the fast lane
Here is the greatest practical significance of a solid foundation:
“Something written by others is like a piece of candy, you can eat it without understanding it!” said one netizen.
- When someone asks you, is this candy sweet? You don’t know, you can only watch others say sweet, you also say sweet
- When someone asks you, what is the composition of this sugar, is it harmful to human body? You don’t know
- When someone asks you, can this candy be eaten with other candy? You don’t know
- When someone asks you, how do you eat this sugar chopped up? You don’t know
- When you see someone add something to sugar and you eat it, you think it’s wonderful, you can’t see how it’s done, you can’t guess why it’s done. It’s just a little honey, really
- What do you say when you see someone chopping up several kinds of sugar, mixing them together, then adding honey, adding lemon, and making a salad with vegetables…
The reality is that what we do is a salad. It’s about how do you use these ingredients, can you use them, can you use them in new ways
Thought is the king, in fact, bronze has not arrived
Today B station saw Ali: “JAVA Development Manual” author — lonely interview video: once dropped out of school to work, after writing a book was put into the library, see how grassroots programmers reverse attack for Ali technology great cattle?
Gu do say oneself just come out also is very difficult, endure slowly come over, new 3 years, old 3 years, seam mending 3 years again
In fact, for a lot of people, when the level of god eat shit is our king now, there is no doubt that the gods in the university of four years of accumulation, when the gods with four years of accumulation in the factory to move bricks boiled, I want to say that although we are at work, but in fact the kindergarten has not graduated
This is a lot of straddling, going to school that will not be good, relying on the training class of the top of these people’s world, I am one of these people, write this article is to let everyone not overreach, the god is also a little accumulated over, the god of the road as long as we walk we can also become a god
Don’t think about more NB, first university graduation, first their own basic state to university graduation, and then we product nibble and then work hard to move bricks for a period of time, naturally we are great god
Dry this bowl of chicken soup, superman is still god’s choice
People always have slack off, even yesterday was hopeful, today is a quilt is a procrastinator. This is ok have to give yourself some pressure, or who also self-discipline can not get up, the best pressure is to make a day to get up with hundreds of thousands of pressure, a minute without learning to lose more than one hundred thousand, the pressure from self initiative is the best. Can hypnotize oneself hypnotize oneself, lie to say 100 times that is true, every day say to oneself, learn 2 months, I NB, cycle, at least can be much stronger than before
Classic Speeches:
- Check out this video if you are not motivated to study! Why do you study so hard
- Barack Obama, a black man, from the beginning of the small between, can walk to the white country president, how inspirational, and precious, the difficulties and difficulties in the ordinary people can not imagine, is absolutely the century inspirational model, recommend to see, heaven on earth – The United States is also inspirational to the peak of life ヾ(≧O≦) “ow ~
With pressure video:
- The Mid-life Crisis of a 35-year-old Code farmer
- Role play, the true feelings of how ruthless companies, middle-aged how helpless, this is the best, absolute pressure to come once
- Understand this and you’ll be sure to develop self-discipline quickly! Save procrastination and get rid of the bad habit better
- Procrastination kills people. Too many people fail to reach the depth of senior life. Procrastination is the problem
Mock training class background:
- [teasing] Why does the school recruit not like certain training class to come out
Advice from veterans and predecessors:
- After eight years of working as a computer programmer, he has six new advice for computer majors
- Programming techniques break the programming ceiling at three endless points
- Technology is “deliberate practice” out, don’t just look at that useless, each small stage must have high quality output to have a sense of achievement, push yourself to go on
Android Career Development:
- Enjoy the classroom – the self-cultivation of an Android programmer
- From Tencent classroom head agency, quality is not bad, are N people come out to talk, worth watching. As mentioned in the video: unified programming specifications, concise code, elegant and clean architecture this is what we have been pursuing in programming, do these well, the level will come up naturally
Specific to Android learning
Always listen to others say foundation, foundation, bottom, bottom, what is the foundation, what is the bottom? According to my experience of nearly 3 years, the so-called foundation, bottom is a complete university course ->
C/C++
Introduction to computers
Computer composition/microcomputer principle
Operating system Principle /Linux POSIX programming
Network programming
The data structure
Design patterns
multithreading
Add language and platform basics (JAVA, Android) ->
JVM
reflection
The generic
Annotations, AOP, APT, AST, AspectJ, ASM, Javassist, IOC
Android Operating system
There are also some common apis and algorithms across platforms
Bitmap
Canvas
Paint
Various caching mechanisms, such as LruCache
Learning is sequential, at least after MY personal learning, probably groped out a suitable learning path for most people:
C/C++
Must learn C++ first, also don’t have to read much, know the syntax, can read the code, can write on Android.cpp
Files, as long as they runIntroduction to computers
If you look at this, most people don’t know the whole structure of a computer. A good introduction to computers is very comprehensive, and it’s a general introduction to the components of a computer. If you’re not interested in hardware,Computer composition/microcomputer principle
You can skip the hardware knowledge in the introduction to computers sectionOperating system Principle /Linux POSIX programming
This is all about Linux,Operating System Principles
This is all about the principles and not the code, but this is a must, and the rest of it is about the principles of the operating system. Linux programming is not a high priority, so you can learn it when you need it. But you know there’s a lot of Linux programming, so learn what you need to learnThe data structure
,Design patterns
There are no before and after learning these two parts. Students who have no time can put away the data structure, which will not affect the later learningNetwork programming
This is the last point in the basic part, but it is very important to learn clearly and understandmultithreading
Needless to say,JVM
The best way to deepen your understanding of JAVA is to learn the JVM from the ground up, and there you can experience learningThe operating system
Java is a simplification of C, the JVM is written in C++, and everything in Java runs on Creflection
,The generic
These two are a lot of people are lacking, must be, Which Android black technology away from the reflectionAnnotations, AOP, APT, AST, AspectJ, ASM, Javassist, IOC
These are all techniques derived from annotations, which are really dark technology, but they are so important that no matter which open source libraries on any platform, there are few techniques that are not used and must be masteredAndroid Operating system
And this is the last one. I learned itThe operating system
Here will no longer appear to learn not understand the problem, in fact, the operating system knowledge base, Android operating system is much better to understand, there is not much difficult to understand the point
With the above learning results, and then to learn the Android application layer, you will develop, learning is so cool ah, see a will be a, see a understand a, see each can understand fully, cool dead ヾ(≧O≦) “ow ~
Study Materials:
That many of them haven’t or haven’t finished, you forgive me, I update for a long time, will certainly to write all the learning materials on this, and these data are all my personal learning and appreciating, ensure the quality, ensure that small white can understand it, my profile is for the small white, because I am a small white (ノ へ  ̄,), for several years, or white, I feel sorry for the cultivation of society, no way I cross over, not training
This article focuses on the idea, data do not open spray, but also welcome to give me complete information
Learn the following, dare not say from the flat trip, but ensure you the same time, you can see 3 times the learning materials, absorb 5 times the knowledge, improve 10 times the knowledge system construction. 2 years senior, 3 years senior, 5 years into god is no longer a dream
C/C++
Video:
- Silicon Valley _C language core technology
- Shangsilicon Valley _C Language National Exam 2 (NcRE LEVEL 2 C Language Test must pass)
- The wisdom podcast _C++ Zero Foundation Beginner 2020
Line, read these you C/C++ must be no problem, many times, many platforms for development you do not use C/C++, but if you go to see the source code or to do some black technology, you are absolutely inseparable from C/C++, I now realize why the university is first to learn C/C++
Introduction to computers
Video:
- Crash course in Computer Science 40 episodes full/fine
This is the best introduction to the computer course, the content of the rich far more than 3 books, foreign science video, this video worldwide, content refinement, absolutely no nonsense, do not understand the students please watch several times, I learn this is also repeatedly watched 4.5 times, absolutely recommended.
Operating System Principles
Video:
- Nanjing Forest Police College – Yang’s Linxu course
Blog:
- Android Base – Operating system (1)
Books:
Understanding Computer Systems in Depth
I just watch teacher Yang’s video to see the entire Linux system, the quality of the content is very high, contrary to the university course long wordly, chaos of the normal state, about is capable, understand, and then we combined with my notes blog, this is no problem ~
But one of the things that you have to know, the principles of knowledge here, if you really want to develop based on operating system principles, C/C++ you have to know
Linux posix programming
Video:
- Shang Silicon Valley – Han Shunping -Linux classic tutorial (general version)
- Shang Silicon Valley – Shen Chao – Cloud computing +Linux system management
- C/C++ Employment Class (I)
- C/C++ Employment Class (Part 2)
- Wheat College _Linux_ Foundation
- Wheat College _Linux_IO
- Wheat College _Linux_ interprocess communication
- Wheat Institute _Linux_GNU tool
- Wheat College _Linux_ Multithreading
- Wheat College _Linux_ Network programming
Blog:
- Android-based – Linux system interprocess communication
School Guidance:
Yet in silicon valley
These 2 sets of videos are about Linux shell commands, I watched a part of it, it does. Mr. Han’s time is shorter, And Mr. Shen’s time is longer. Everyone chooses according to their own timeThe intellectual dark horse
These two sets of videos are really long, from C/C++, all the way to the Linux system, there is a need to pick up to see ~Institute of wheat
These 6 sets of video time is not long, want to specifically watch Linux programming, time is not too much, watch the operating system principle can see this deepen the understanding of Linux
Data structure, algorithm
Haven’t seen
Books:
Big Talk Data Structures
My First Algorithm Book
Design patterns
clearing
Books:
The Design Pattern of Big Talk
Network programming
Completed part:
Video:
- Crash course in Computer Science 40 episodes full/fine
- The horse soldiers
Blog:
- Android Building Foundation – Network programming foundation
Books:
Illustrated TCP/IP
Data guidance:
- see
Crash course in computer science
Learn the 5-layer network model, there is no more clear, common understanding than this - see
The horse soldiers
In the first part of this video, we continue to deepen our understanding of the basics of the web
multithreading
To tidy up. There’s too much stuff in here. I need to tidy up
JVM
Video:
- Silicon Valley -2020 Latest Version of Java Virtual Machine from Beginner to Master
Blog:
- Look at JVM (1)
- Look at the JVM (2)
- JVM Interview Questions
- 【 intermediate 】
- 【 Advanced 】
- Code optimization from the JVM perspective
Books:
Understanding the JAVA Virtual Machine
Still silicon Valley this JVM video I go really good, ALL the points of the JVM are said, 203 episodes, 40+ hours, worth your time to learn, after watching, the JVM is no longer confused
Reflection, generics
To be written
Annotations, AOP, APT, AST, AspectJ, ASM, Javassist, IOC
Note that this part has not been studied yet
Android Operating system
Haven’t got through
Books:
A Deep Understanding of Android Kernel Design
-> Two volumesThe Best Android Book
-> This one is easy to understand, but has few theories
Code encapsulation, elegance
This is where I recommend you to read a book, to systematically see what elegant code is based on
JAVA Development Manual - Songshan Edition
How to Clean Code
Code Quality
Refactoring and Patterns
Enterprise Application Architecture Patterns
JAVA Program Performance Optimization
JAVA Performance Optimization
The last
Finally, I will express my feelings
The road ahead is clear. Just work hard
Compared with other industries, technology is the best way to go. The starting salary is high, and there is no need for contacts. You can go very high only by your own efforts. As long as you go forward, don’t give yourself a retreat, slow and steady you will be better than any other industry
This line is very clean
Programmer’s world although there are 996,007 such cruel, but compared to other industries this industry is too clean, I was doing port logistics before, also sold their own fruits, vegetables, I have seen too much darkness, exploitation, cruel, ruthless, edge ball, illegal, collusion… Heart tired, to do this line of programmers (_ _) blue |
To learn to ioo the ordinances
Every industry has its own learning context, the programmer industry learning context is the set of the school, start from the foundation of a little accumulation, that is, do not waste precious time learning
Why some big factory school recruit come in meeting have tutor to take, be afraid yourself long crooked ~
Learning is a process of puzzle, even if you opened the puzzles are points, also 淂 you go to puzzle between 淂 order to get the final 淂 picture, this is a very time consuming, no predecessors to guide their foolishly is bound to waste, with the right guidance, everyone can be a great god, and that I am out
Accumulation is not only a surface, but also a depth
I have seen Mr. Ma’s open class. Mr. Ma said that in The Interview in Silicon Valley, there are only two tests: algorithm and system design.
- The algorithm represents the depth of technology, algorithm NB people, technical foundation must be good, at least the American learning route is such, algorithm good foundation is good, of course, the opportunistic Chinese except
- System design represents global ability, comprehensive application ability, will generally test you through the project
At the end of the day, software programming is all about theory and practice. Basic skills are as important as experience, and that’s what we’re looking for
Again, the basics are important
The upper knowledge, application is very complex, especially rich, all kinds of labels, technology, all kinds of change. But the bottom knowledge is very little, is what I said above, learn you will, you will be solid foundation, it is so simple and clear
If you know the bottom line, you won’t be afraid to ask questions from the interviewer. In netty, Redis, Kafka, ES, nginx, you can talk about low-level things like Mmap, select, epoll, all of which come from kernel calls
Most people will be able to answer from the top, this is not what the NB interviewer wants to hear, this is known, they think you will, you don’t have to be too superficial, they want to hear you start from the bottom, followed by a technical outline
Coincidentally, now in the industry, the bottom of the people with a solid foundation is too few, you will have a great advantage, not only useful interview, usually learning application is also benefit ~
Form a suitable learning method
Technology is not finished, in the process of learning, we must form a set of their own learning methods. My method is to start from the foundation, to study the system, omission and supplement, the pursuit of knowledge points of mastery. Through the way of writing blog, share, sometimes the big guys will also communicate, support the problem or encourage, this is very effective for learning, I most seek is the ultimate efficiency, suitable for cross over the small white people
Programmer rating
This is look at B station calm and think far away -9527 classmate said, feel get to the point, I hope you understand below:
- Junior programmer
Function oriented implementation
The code sucks, as long as the business worksCode not encapsulated
The same, similar code is everywhere, a change up which laborious ah, find all over the worldcopy
Copy baidu, copy colleagues, dare not write, dare not have their own ideasProgramming for Baidu
.
- Intermediate programmer
Interface oriented development
Consider code from the point of view of code hierarchy, try to achieve easy maintenance, easy to modify, a change, everywhere to useNaming conventions
It is very important to know meaning by name. I have experienced ittools
The code is highly encapsulated, divided into modules, grouped pieces, and highly reusableModules are developed and maintained by special personnel
This has a high requirement for code encapsulation, for other modules to be easy to use, easy to use, you have to maintain, but also low intrusion line, but also easy to integrate, it is difficult to do3. Strong learning ability
The ability to study to get over here, really, at least the ability to study to pass the eye
- Senior programmer
- For one thing, everything is based on the whole project. Considering the whole company, that guy has too many things to think about, and he cannot hold it without extensive and deep knowledge. He has to lead the whole project, coordinate the work and cooperation between departments and positions
Pay attention to the body
The body is the capital of revolution. Learning and working must be efficient. Just to put it a little way: you learn and work late, you have to get up the next day, you still have energy during the day, you still have your brain working, you can still read what you have written?
Expect to write these destined to be discarded garbage, bugs out, it is better to take a good rest, strive to write a boutique every time. Don’t use the present to fill in trouble later
Not only will be a vicious cycle, broken, more dry more boring, more write more garbage. Rather than so bad, it is better for us to maintain excellent state from the beginning, good state is the most reliable guarantee of efficiency
I hate the companies that come at 12 o ‘clock at noon and leave at 12 o ‘clock at night. It looks like a long time, but how about things? How many effective working hours are there
Registered permanent residence
Beijing registered permanent residence does not make, make tianjin registered permanent residence, Tianjin is still buying a house to settle down, urban area, suburban county can do, go haihe talent to introduce a plan. Tianjin is not a good place to work, the IT industry is stagnant and wages are low. But Tianjin is suitable for the elderly, the environment is comfortable, lazy. If you want to take the elderly from your family, you can arrange for them to live in the real estate they bought in Tianjin, high-speed rail is also convenient, and it is also convenient to have a reunion once a week
Directly under the central government college entrance examination advantage is too big, than the college entrance examination big province has at least 100 points advantage, university colleges and universities also have priority to take care of, it is to give children to improve the starting line of life the best choice, the position is far away from the house is very cheap, buy a small spend not much money, but change the hukou is worth it