Today I won’t talk about anything else, let me talk to you about the three most important points in learning safety, especially for newcomers.
- Ability to solve problems
Some students love it from the beginning, so when they choose a major, they choose the network security major; some students make mistakes, such as me, the university actually chose the electromechanical major, and was later transferred to the network security major. , belonging to the typical hindsight type.
At the beginning, like most newcomers, I thought that network security was difficult to learn, and many students in the class also thought it was difficult to learn. Those who could change majors would be transferred, and only those who could not be transferred would stay.
The network security major ten years ago is far less lively than it is now, and many schools are enrolled as marginal majors. Among the high school classmates in the same class as me, among the ones I know, none of them took the initiative to choose a network security major.
So, my love for safety is purely deliberate practice.
Many students may be puzzled, can you practice even if you love it?
When I found out that I could find a job in this major, the country was paying more and more attention to it, I could support myself, and I could no longer reach out to my parents for money, my love came little by little. As I get older, I like this profession more and more, not because it is charming, but because it makes my life better and better.
Yes, I am a layman.
In the beginning, it was difficult, because after the two blows of the college entrance examination, my feeling of weariness was so strong that when I was in college, I failed several professional courses, which may be difficult for my classmates to imagine.
This is the real situation, so many new people complained to me, "Programming is so difficult, I always learn to forget, what should I do?" I know the reason? You don't have enough love for programming!
When I got my first internship salary, it was 2,500 yuan. I remember it clearly. I was happy at that time, you know? For the first time in my life, I have made so much money at once! As soon as I got my salary, I quickly called my parents. Yes, I still have tears in my eyes when I recall the scene at that time.
Although I didn't shout that sentence on the phone: "Mom and Dad, your son has finally made money, and finally no longer has to reach out to you to ask for money!" But in fact, I have already shouted it thousands of times in my heart!
It may be difficult for students to imagine how exciting an internship salary of 2,200 yuan can be! Yes, for me at the time.
With love, you will naturally work hard! This is a matter of course.
But often times, we are confused, don't know where to work hard, don't know where to use our energy!
I also had. When I was happy with the 2,200 yuan internship salary, some colleagues around me, especially some locals in Suzhou, came to intern not to earn money, but to give themselves some opportunities for experience.
Very impressed. I asked a colleague, "What do you do after you get paid?"
"Come on! What else can I do with this money!" This answer had a particularly strong impact on me. For a moment, I felt that efforts were meaningless.
But then I figured it out.
It turns out that the gap between people is innate! You can only close these gaps if you work hard to catch up; and once you stop working hard, the gap will be widened!
After I figured it out, I went to a website called Programming Introduction Network to copy the demo, and I copied it every day when I had time. For me at that time, reading books was too slow to improve, only through actual combat can I improve quickly.
Later, I learned from the seniors that the company will be very dependent on a front-end framework, so I bite the bullet and study the source code, and use my spare time to make a local area network chat tool.
learn by doing, is my experience, it made me grow rapidly, and soon lead the same batch of newcomers in the company in terms of technology.
Let your code size go from 100 lines to 1000 lines, to 10,000 lines, to 100,000 lines, and you will no longer have the feeling of "you can learn when you learn, and you can't do it when you do it".
Of course, in the process of typing code, you have to learn to think, why do people want to do it this way, why can't they change it? Take a very simple example, the ArrayList that people use, can you use LinkedList? People use insertion sort, can you use bubble sort?
During that savage upbringing, I did read very little. But in the past two years, I have read many classic books, such as "Network Security and Hacker Attack and Defense", "Kali Advanced Penetration Testing", "SQL Injection Attack and Defense", "Dragon Babu" and so on.In addition, I have also compiled a list of classic books that must be read on network security. You can click to collect them.
Reading books can give you an idea of why you're doing it and what's the rationale behind it.
Coupled with a lot of output, it made me think more deeply about programming.
Think about it, what is the core competitiveness of network security?
The ability to solve problems is my core competency.
When a problem is placed in front of you, you can't be helpless! You love, you work hard, and ultimately you want to solve the problem. If you can't do it, you can only be labeled as a "pitch on paper".
The problem-solving process can be broken down into three steps:
- Thoroughly understand what the problem is?
- What is the root cause of the problem?
- Find the best solution.
In the beginning, due to our lack of programming experience, we probably didn't even know what the problem was. The first requirement to solve a bug is to be able to reproduce the problem, but programming is not like many other things, and some bugs are difficult to reproduce.
So for newcomers, when they encounter a problem at the beginning, they can only face the search engine to see if others have encountered similar problems and whether there is a solution, and then apply it to see if the problem can be solved.
When the problem can't be solved, I want to ask the leader, I want to ask the boss, can you teach me a lesson!
Let me tell you, that's how I started. But gradually, I will think about why this problem occurs, what is the underlying logic of this problem, and is there any other better solution besides this solution? Why don't you take some time to research it yourself?
When you have the courage to solve the problem by yourself, it has actually proved that you have made progress, because only when the foundation supporting you is solid will you have such courage.
Finally, to summarize what I think is very important.
Love, hard work, and problem-solving skills. In addition, you should also focus on basic skills:
- Programming ability: practice a lot, debug, and pursue high-quality code;
- Basic knowledge: operating systems, computer networks, data structures and algorithms;
- Abstract thinking: The reality is physical, while the program is virtual. This transformation process requires strong abstract thinking ability.
especiallyPenetration testingThis piece must be planned as soon as possible. If you plan to go to a big factory, you must brush this piece up as soon as possible. I have a copy here.Meituan technical boss's brushing notes, you can use it as a reference, it will be very helpful for penetration testing students.
One more thing, this year's network security major is really special. Even a sister from my second uncle's family has to take the initiative to apply for a network security major. I was a little surprised when my uncle called me just now!