Github programmer- Advancement: github.com/Snailclimb/… Some good habits programmers should have. If you think the content of the article is helpful, you might as well click on the Star!

The path of programmer training

Learn/program good habits

It’s really important to develop a study habit and programming habit, and a good habit is really helpful for the later study. To tell the truth, I myself had a lot of losses in this respect at the beginning, and many of the better habits I only slowly discovered later, so here I want to focus on telling you what good learning and programming habits.

The right to ask questions

We can’t do without asking questions at any time, especially at the beginning of learning, but few people really know how to ask questions correctly. Don’t start a question with “Are you there?” You say “Are you there?” Should I reply or not reply? Don’t let someone send you a 32-bit JDK unless you like that person.

For more information on how to ask questions, see github’s Open source “The Wisdom of Asking Questions” github.com/ryanhanwu/H… Take some time to read it. I think I’ll get a lot out of it.

Check out my original post on How to Ask questions

A healthy life

I’ve always found this to be the most important aspect, and I think many people, like me, unconsciously ignore it. You don’t realize the importance of living a healthy life until you feel really sick.

  1. Don’t stay up late unless you absolutely have to. The dangers of staying up late go beyond saying, baldness and endocrine imbalance, you know!
  2. After 45 minutes of computer time, get up and walk for 5 minutes to relax and look into the distance. Don’t think of those five minutes as a waste of time; instead, they can lead to even bigger productivity gains.
  3. Consider buying a computer shelf to protect your spine and enhance your office experience.
  4. Can download an eye protector, feel can eye protector mode is quite good, very suitable for us who need to constantly stare at the computer to use, strong Amway.

Efficient search

Try to use Google to find technical information and their own problems encountered in learning.

To solve the bug

Check StackOverflow for problems with your application, as most others have already done. If not, consider other solutions. If you can’t solve the problem, ask someone who you think can help you solve it (be careful to describe your problem, don’t just grab a Bug graph).

Good at summarizing

After learning any subject, you may have watched the video and found it easy to understand. But then, a few days later, you realize that you forgot all about it. When someone asks you a similar question, you don’t have a clue. Therefore, I recommend you not only to timely review after learning a knowledge, but also to make a summary, so that knowledge form a system. Also, imagine you have to explain this to someone else. Can you explain it clearly? If not, you don’t have a thorough understanding of the subject. This is often referred to as the Feynman learning technique.

The way to summarize:

  1. Youdao Cloud Note, OneNote…… This kind of note-taking software;
  2. Mind mapping;
  3. Write blog output. Consider setting up your own blog (Hexo +GithubPages is very easy), or you can set up a blog at Jane Book, Dig Gold…… And so on. Markdown format reference: github.com/sparanoid/c… Chinese text typesetting refers to north: github.com/sparanoid/c…

Writing a blog

What are the benefits of blogging?

  1. Have a deeper understanding of knowledge, so that their knowledge system is more complete;
  2. Push yourself to study;
  3. May bring in good financial gain;
  4. Improve personal influence;
  5. More opportunities;
  6. .

In general, blogging is a two-way street. You may learn a lot from it, and what you write may be of great help to others. However, blogging is time consuming and you need to balance it with your job.

Sharing is a virtue, and no industry can be done alone. Blogging and good blogging is a good habit for programmers. One for all, all for one!

For more, check out my original post on why I recommend blogging.

Multi-purpose making

Go to Github if you have the ability to participate in some open source projects. Look at other people’s good open source projects, look at other people’s code and design ideas, and you will gradually improve your programming ideas. In addition to these excellent open source projects, Github also has a lot of good open source documents, open source materials, I think we usually learn quite helpful. Github is an all-English website.

practice

Practice and apply what you learn to real projects. A lot of people come to me and complain that they don’t have actual projects to do, how can they have project experience? If you really don’t have an actual project to do, I think you can do it in the following ways:

  1. Find an online video or blog of a practical project that meets your abilities and job hunting needs and do it with your teacher. In the process of doing, you should have your own thinking, do not dabble, for many knowledge points, others’ explanation may be enough to meet the project, if you want to learn more knowledge, for important points you should learn to go to the deep learning.
  2. Github or the Code Cloud has a variety of field projects, so you can choose one to study. In order to better understand the project, you can make improvements or add features to the original project based on your understanding of the original code.
  3. Oneself begin to do a thing that oneself want to complete, encounter not the thing to learn temporarily, learn to sell now.

The interview will know

How to get a big factory interview?

Before we talk about how to get an interview, let’s compare two very common concepts of school recruitment — spring recruitment and autumn recruitment.

  1. Recruitment: autumn recruitment more than spring recruitment;
  2. Recruitment time: Autumn recruitment usually starts around July and lasts until the end of October. However, big factories (such as BAT) will start early and finish early, so we must grasp the time. The best time for spring recruitment is March, the second best time is April, and there are almost no spring recruitment in May.
  3. Recruitment difficulty: autumn recruitment is slightly more difficult than spring recruitment;
  4. Recruitment companies: the number of autumn recruitment, and the number of spring recruitment is less, generally autumn recruitment supplement.

To sum up, generally speaking, the gold content of autumn recruit is obviously higher than spring recruit.

Here are a few that I know of, but I think that covers most of the ways to get an interview.

  1. Pay attention to the official website of dachang, submit resume at any time (go through the process of online application);
  2. Attend offline seminars and send your resume directly (you have a much higher chance of success than online!). ;
  3. Find senior brothers/senior sisters/people you know, help push (can let you avoid network application resume screening, written test screening, or very good, but also need your resume is good enough);
  4. Excellent author of Github open source project, invited to interview by staff of Big factory;
  5. Job sites to send resumes (not recommended, suitable for sea).

What should YOU wear to an interview?

A suit and tie and leather shoes? NO! NO! NO! This is an Internet company interview, not a red carpet interview, so you just need to dress modestly, not too formally.

What should I pay attention to before the interview?

  1. Prepare your introduction in advance;
  2. Bring your transcript and resume with you (some companies will ask you to hand them in before the interview for reference);
  3. If the written test is needed, brush some questions in advance;
  4. Take the time to do some logic and intelligence tests (I found in the interview that some companies have logic or intelligence tests, and they all use logic or intelligence test scores as a very important reference);
  5. Prepare your own project introduction;
  6. Do targeted review before the interview (targeted review is done specifically for the company you are interviewing with. Before the interview, you can search the Internet for information about the company you are interviewing with.

How to introduce yourself better?

From HR to technical to senior management/department heads, interviewers will ask you to introduce yourself first, so it’s important to prepare yourself well. The general advice on the Internet is to prepare two self-introductions: one for HR, which focuses on highlighting your experience and programming skills; The other one is for technical interviewers, mainly talking about their own technical details, project experience, experience of those mentioned in a word.

Here I simply share a simple template of my own self-introduction:

Hello, interviewer! My name is XX. In college, I mainly use my spare time to learn XXX. I participated in the development of a certain system in school. In addition, I also wrote many systems such as the certain system in my learning process. In the spare time, I prefer to organize and share what I have learned through blogs. I am now a certified author in the xyz community and have written great articles about xyz. Also, I won the xyz award, and how many stars I have on my Github open source project.

How to present your project?

The first step in a technical interview, if any, is to ask you to tell me about your project. You can think of it in the following ways:

  1. Get a feel for the overall design of the project (the interviewer may ask you to draw an architectural diagram of the system)
  2. What were your responsibilities, actions and roles in this project
  3. You learned those things, you used those technologies, you learned how to use those new technologies
  4. In addition, it is better to reflect your comprehensive quality in the project description. For example, how did you coordinate the development of project team members or how did you solve a thorny problem? Or what technology did you use in this project to achieve what functions, such as redis cache to improve access speed and concurrency, message queue peak cutting and flow reduction, etc.

If an interviewer asks, “Do you have any questions for me?” “, how should you respond

[What should you say if the interviewer asks, “Do you have any questions for me?”](docs/ What should you say if the interviewer asks,” Do you have any questions for me?”) “, how should you answer “)

At the end of almost every interview, especially with HR and executives, the interviewer asks me, “With all the questions I’ve asked you, do you have any questions for me?” . Whether it’s a technical interview or a non-technical interview, if you want to win the favor and respect of the company, I think we should all pay attention to this question.

There are a lot of template questions available online, and I think the key to answering this question is to be honest and not to ask too Low a question.

When an interviewer asks you what your strengths are, what should you say?

The best way to answer these questions is to tailor your answers to the position you are applying for. When asked this question, an interviewer will probably only ask you to name a few strengths that you feel best represent your abilities. In case you get lost in the interview process, you can prepare yourself before the interview. It’s a good idea to talk about a few strengths that the job requires or the company values (corporate culture).

When asked what your weaknesses are, what should you say?

Weaknesses must not be key competencies required by the target position!!

Anyway, remember that if the interviewer asks you this question, you can say something about your weaknesses that doesn’t affect the requirements of the position. For example, if you are interviewing for a job as a back-end engineer and the interviewer asks you what your weakness is, you can say something like: I am introverted and usually do not like to communicate with people, but CONSIDERING that I may have to communicate with customers in the future, I am trying to change.

How to write better code

Java

  1. Use IntelliJ IDEA as your Integrated Development environment (IDE)
  2. Use JDK 8 or later
  3. Using Maven/Gradle
  4. Use Lombok
  5. Writing unit tests
  6. Refactoring: Common, but slow
  7. Note the code specification
  8. Contact customers regularly to get their feedback

Eight tips to help you write elegant Java code

Code optimization

  • Business complex =if else? The new god used strategy + factory to kill them completely!

  • Some good Java practice! Recommended reading more than 3 times!

  • [Unlocks new pose] Brother Dei, your code needs to be optimized

  • Eliminating the “bad taste” of Java code

As an IT industry veteran, what would you like to say to your younger generation?

  • There are no technology-driven companies
  • Do not blindly infatuated with the so-called management, as the only career pursuit of the officer
  • Recognize the situation and seize the opportunity
  • Based on my years of experience on the Internet, here’s some good advice for you
  • How to outdo most people
  • Don’t write code. These 25 things are more important than a raise