It is really important to develop a study habit and programming habit. The development of a good habit will really help your subsequent learning. To be honest, I suffered a lot in this area at the beginning, and I only gradually discovered many of the better habits later on, so I would like to focus on telling you some good learning and programming habits.
We can't do without asking questions at any time, especially when we are beginners, but few people really know how to ask questions correctly. Don't say "Are you there" before asking someone a question? If you asked about "Are you there", should I reply or not? Don't let someone send you a 32-bit JDK unless you like that person.
For more information on how to ask questions, please see the open source version of "The Wisdom of Asking Questions" on github https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/master/README-zh_CN .md, take the time to read it, I think you will gain a lot after reading it.
For more information, you can check out my original article: How to ask questions
I have always felt that this aspect is the most important. I think many people like me will ignore it unconsciously. It is not until you are really uncomfortable that you begin to realize the importance of a healthy life.
Try to use Google to find technical information and some problems you encounter in your studies.
If you encounter problems with the program, first look for them on stackoverflow. Most others have already encountered them. If none of the above are available, consider other solutions. If you really can't solve it, ask someone you think has the ability to help you solve it (be careful to describe your problem and don't just take a screenshot of the bug).
After learning any knowledge, you may feel that the teacher's explanation is quite easy to understand when you watch the video. However, a few days later you find that you have forgotten everything. Someone asks you a similar question, and you have no idea at all. Therefore, I recommend that after you learn a piece of knowledge, you should not only review it in time, but also make a summary so that the knowledge can form a system. In addition, you can imagine that you want to tell others this knowledge point. Can you explain this knowledge point clearly? If you can't, it means you don't have a thorough understanding of this knowledge point. This is what people often call Feynman’s learning technique.
To summarize:
What are the benefits of blogging:
In general, blogging is a self-interested thing. You may gain a lot from it, and what you write may also be of great help to others. However, blogging is still quite time-consuming, and you need to balance it with your work.
Sharing is a virtue. No industry can be achieved alone. Writing blogs and writing good blogs is a good habit for a programmer. I am for everyone, everyone is for me!
For more information, you can check out this original article of mine: Why do I recommend you write a blog?
If you have nothing to do, go to Github. If you have the ability, you can participate in some open source projects. Look at other people's excellent open source projects, look at other people's codes and design ideas. The more you look at them, your programming ideas will gradually improve. In addition to these excellent open source projects, there are also many good open source documents and open source materials on Github. I think it is very helpful for our daily study. If Github is used well, it can be installed. After all, it is an all-English website, cough cough cough.
Practice more and apply what you learn to actual projects. Many people have complained to me that there are no actual projects for them to do. How can they have project experience? If there really is no actual project for you to do, I think you can do the following:
From the first day of learning programming, you must develop good coding habits. The naming of packages, classes, and methods is the most basic.
Recommended reading:
Programmers are also inseparable from communication. You may need to communicate requirements with customers, communicate project issues with colleagues, and may regularly report project progress to your leadership. Therefore, I think good communication skills are also the basic qualities that a good programmer should have.
Before I talk about how to get an interview opportunity with a big factory, let me first popularize/compare two very common concepts of school recruitment-spring recruitment and autumn recruitment.
To sum up, generally speaking, the gold content of autumn recruitment is obviously higher than that of spring recruitment.
Below I will talk about some methods that I know, but it should also cover most methods of obtaining interview opportunities.
Wear a suit, tie, and leather shoes? NO! NO! NO! This is an interview at an Internet company and not a red carpet, so you just need to dress simply and elegantly, not too formal.
From the HR interview, the technical interview to the executive interview/department head interview, the interviewer will usually ask you to introduce yourself first, so it is really important to prepare your self-introduction well. It is generally recommended on the Internet to prepare two self-introductions: one to the HR, mainly talking about your experience and programming skills; the other to the technical interviewer, mainly talking about your own skills. The technical details, project experience, and experience are all mentioned in one sentence.
Let me briefly share a simple template of my own self-introduction:
Hello, interviewer! My name is so-and-so. In college, I mainly used my extracurricular time to study XX. While in school, I participated in the development of a certain system. In addition, I also wrote many systems during my study, such as the certain system. In addition to studying, I prefer to share the knowledge I have learned through blogging. I am now a certified author in a certain community and have written a very good article about a certain person. In addition, I have won a certain award, and a certain open source project on my Github already has many stars.
If you have a project, in the first step of the technical interview, the interviewer usually asks you to introduce your project yourself. You can consider the following directions:
How should you answer if the interviewer asks "Do you have any questions for me?"
In almost every interview, especially HR interviews and senior management interviews, the interviewer will always ask me at the end: "I have asked you so many questions, do you have any questions for me?". Whether it is 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 issue.
There are many question templates available online. I think the most important thing to answer this question is: be sincere and don't ask too low questions.
To answer such a question, it is best to give a targeted answer based on the position you are applying for. Generally, when the interviewer asks this question, he will probably only ask you to mention a few advantages that you think best reflect your abilities. In order to avoid not knowing what your advantages should be mentioned during the interview, you can carefully discuss them before the interview. Get ready. During the interview, it is best to mention a few advantages that are needed for the position you are applying for, or the advantages (corporate culture) that the company you are applying for values more.
The shortcomings must not be the key abilities needed for the target position! ! !
In short, remember that if the interviewer asks you this question, you can mention some shortcomings that do not affect your work requirements for this position. For example, if you are interviewing a back-end engineer and the interviewer asks you what your shortcomings are, you can say this: You are relatively introverted and don't like to communicate with others, but considering that you may have to communicate with customers in the future, you are working hard to improve it.
I was asked this question before an interview! I think there is a big difference between fresh graduates and social recruiters in this regard.
In interviews for fresh graduates, I think this would rarely be asked! Because most companies will definitely determine the salary level of fresh undergraduates/graduate students recruited this year in advance based on market conditions. The salaries of most fresh graduates are similar depending on your academic level. The best person in the interview will get SP. Said another thing. What if you are really asked? Let me copy what I wrote at that time:
"I believe that after my continuous efforts, the company will give me corresponding and reasonable remuneration. This is also an incentive for me. I hope you can help me fight for it." (ps: I forgot where I saw this. I thought it was good, so I organized it into Onenote)
I used OneNote to take notes when I was in college. I currently use Typora to organize my notes and sync them to a Github private repository.
In addition, I asked a very senior HR friend of mine, and her suggestion was: It is best to write down your expected salary on your resume to avoid making mistakes when the conversation comes.
Details of the above suggestions: Eight tips to help you write elegant Java code.
More code optimization related content recommendations: