A common front-end road undergraduate students of learning

Xi'an original front-end consulting: 卡农 [email protected]
This article was published in sync wdShare西安前端交流会网站, 我的个人博客and segmentFaultand 掘金. Please indicate the source

This is a primary share Xi'an inside the front group, sorted out, for everyone to share, I hope to help you learn, and I also hope that we can more exchanges.

EDITORIAL

Hello, Hello, everyone, I am a Canon. Last week Michael brother to share the contents of a mechanical switch front-end, half a year zero-based self-study of the mentality of dry full, very exciting. Share this week for me to leave you. First of all feeling 杰克哥for giving me this opportunity to share my experience of learning a little here, but also very grateful to F7哥such a good platform provided here so that we can concentrate on the discussion of technical progress together. Today I share mainly to learn about the front line and some advice for beginners, as well as their own school recruit in the preparation process a little more experience. Since I am currently still students in school, so the insights and select certain issues may be more biased in favor of students' thinking, not necessarily suitable for everyone in the group, the inadequacies of hope that many instructions, of course I will try from angle larger crowd to the output of my experience, I hope you can help us learn the front.
I'd start my road into the pit, beginner course, learning routes and resume the process of preparing the candidates, knowledge, attitude ready to share several aspects.

How did I choose this direction

Strictly speaking, I do not belong to the school of professional computer (Intelligence Science and Technology), more inclined to discipline a combination of hardware and software, and it happened in our school in our courses to arrange a time to put a hardware course more important s position. So in specialized courses can be learned is not that great, it was the professional to see so domineering name was filled. If you follow our professional line, I will be studied artificial intelligence, machine learning, natural language processing, machine vision or those directions. But after sophomore year, I am very serious study of these possible directions, I found a very serious problem. These disciplines or occupations seem very big, in our school this is a very embarrassing presence. With scholastic ability and depth of our research this general undergraduate school, almost impossible to find in these directions suitable work (at least without precedent), of course, thought about doing the first person to eat crab, but when after a hard look at its own is not a good foundation of basic science and limited enthusiasm for these directions, I chose to give up. In this way, the only two options are to continue their studies and choose a different direction. Because I have not the intention to continue their studies in the country, so I decisive to give up this option. So on the road choose another direction, it is a coincidence met a school of Computer Science (College of Automation, we were assigned to professional) new recruit various laboratories. The forum heard one after another, I found sophomore (required for freshmen is relatively low), there is no possible show for work, there is no more familiar programming languages, only the Internet and Technology industry full of enthusiasm. Finally, try holding the mentality was, initially selected and the front-end product in both directions. But under the employment prospects later, learning routes and considering the future development of these front-end (mainly from information know almost), or choose the technology route. Fortunately that time, everyone's level is not high, after I burn the midnight oil for about a week it happened to encounter a very appreciate my sister, let me into the lab WEB组. I officially started my front end of the road.

My novice road

For students, I strongly recommend to join the school's laboratory, which way will you learn of great help, I will mention later.
Luckily, the lab where I is a project-driven laboratory. There are laboratory personnel in all directions, 嵌入式、安卓开发、大数据、WEB前端、WEB后台and so on, when you have a good ideasoon to be brought together members of various directions to achieve it. So my first project began. It is to write a simple lab's official website.
Of course, this time, I did not know he really just scratched the surface of knowledge are not really understand, how to start a project, the preliminary needs analysis how to write, how to design the site as a whole, what technology stack with how to regulate code, how to write robust maintainable code, and there are even websites to put something where data to these problems all at once appeared. I did not start, do not know where to start. This time, it was the importance of guidance on the highlights out. Under the guidance of former schoolmates sister, I refer to the previous project plan to spend a week writing a site needs analysis, draw a rough diagram of the layout, selected by the technical framework Bootstrap. This time I was in the Mu class network and see the official website Bootstrapof tutorials, found just use there is no difficulty, about two weeks will basically up. But I will knock shining example of what the code does not use, or what are usually do not. This time, I did something very shameful thing, I put a few schools set up earlier laboratory official website of the code chops down, look at their directory structure, layout, and code. Fortunately we are not used on this static websites too complicated technology, basically I can understand CSSand HTML, JSpart of the very few. So, refer to their own examples and I had designed the overall layout and structure, I wrote about the overall framework of the site, though ugly, even though is a Bootstrapstill a lot of layoutBugBut to see their design and write the first site is still very excited. Behind the work is in the actual writing process, constantly change the code, change the layout, and even repeatedly changed requirements, which lasted about two months plus a winter vacation, finally completed his first formally launched work. During this period, I also buy and configure your own cloud server, your own blog system, their own Github, but also learned linuxthe basic operations.
You know, a few months ago, I would never have thought that they can personally write a site and made available to so many people use, first, I do not believe there is such a chance, and second, I do not believe there is such a ability. but so what, the truth is I really do come out of this thing, and then I will make more and better things. I wrote this experience would like to share is that, dont be shy, you are brave to take the first step, if you do not give yourself a chance, you never know what you can do in the end, before I I do not know how to start and finish a project, do not know what 博客, , Github, 云服务器simply because these will be used in this project, so I had to learn, but I found a start learning these things brought us convenience far far beyond my imagination, so I have not stop. So for starters joined the line, I strongly suggest you use your imagination, try your hand at doing a complete work, when you want to achieve something, want to accomplish one thing, you have more plenty of enthusiasm and motivation to go for it and learn, are learning every time will further away from your goal, and each time a portion of the complete works of you will be more motivated to continue, this is a virtuous cycle of positive incentives . I believe in this case, you'll learn faster and more depth.

It is easy to see resources, platforms and atmosphere of my whole growing up, school laboratory provided played an important role. Here, I can be very easy to find yourself in the same direction and sister school seniors, here, I would like to think I helped the sister school seniors who say "thank you", you did not have your advice again, I'm still quagmire wallow, no direction rattling. It is also likely to have every opportunity to make the product will be used by everyone, as well as a good learning atmosphere. As a simple example, did not join in the laboratory before, I learned most nine o'clock (because the school Library 9 o'clock closing), but also by a variety of interference, after joining the lab, just go, I rarely have the dorm before ten o'clock, because in this environment, we are learning, in the discussion, you are difficult to have other ideas. The live closer with college students, the uncle did not come before the Security urging them, it would not go.
When you can do a complete small projects, I believe common technique you definitely know about it, but with normalization, if only will use a particular technique, to help your growth is very limited.

Learning Path recommendation

I recommend this system can take the time to study large blocks of knowledge. For example, long time to learn HTML4.1 HTML5 the MDN-HTML5CSS2.1 , CSS3fog, rain Piaoling CSS manual , ES5, ES6/ES7Ruan Yifeng ES6 manuals , and so on. This is the time of learning requires both breadth but also depth. Needless to say JavaScript高级程序设计watercress link to this book, that is, we often say that elevation, basically every qualified front-end programmer should be familiar with many, many times, each time reading there will be a new discovery. JS principle of most things there are explained very clearly, but it is not deep enough there are a lot of places, this time rhino book appeared. But the rhino book ( JavaScript权威指南) watercress link said very fine, very deep, anyway, I basically did not currently see how the level is not enough in many places not understand. But would like to deeply understand JavaScript, this book is a must read. CSS, I recommend CSS权威指南watercress link and W3C 大漠老师W3C-PLUS of 图解CSS3watercress links , basically do two books cooked, in most cases CSSthe depth and breadth of it are enough.

Recommend some sites, a Baidu IFE Institute of front-end technology , there are step by step Baidu IFE team front-end for beginners set of 前端Tasks, just follow the step by step in order to do it, your front-end technology at a certain level. And there are many powerful school students doing the same thing, you can enjoy the reference and evaluate other people's code, you can learn a lot of things. Another is as Free Code Camp , should be the world's hottest technology learning site, and on a similar, but also the form of the task, he will provide a lot of learning resources, and then complete the task of learning objectives, learning ends and complete the work, but also learning can get certification.

But the light of these knowledge is not enough, now the front-end engineers not only HTML, CSSand JavaScriptthe front end now also requires understanding of network protocols, network requests, browser, operating mechanism, front-end performance optimization, knowledge of the server and so on, you can not very systematic comprehensive to learn, learn too deep, you may find that a light with enough knowledge I have studied a few months, then how to determine to what extent learn? I think this needs to be weighed against your own situation than I myself, I was in school, I have a lot of time, but I'll have to face the school recruit, recruit school is very focused on the basics of a interview, and I want to deeply understand some of the principles of knowledge. So I can certainly deeper to understand the content relative belonging to an accessible knowledge, network protocol I can see HTTP权威指南watercress link knowledge, the server I can go take a server, do a front and rear end completely on my own to complete the project, but there are many people read through the blog network protocol is enough, the server only knows Node.js, PHPbut he can also be very good front-end to complete the task, the more in-depth stuff for my advice, if you have enough time and scholastic ability, you can learn Some believe that knowledge either for yourself or to control the work in the hands of future development will be of great help.
After completion of the course, no accident, then you should have your own common component library, for example 轮播图, 模态框and so on, as well as JS libraries such as 操作Cookie, 操作LocalStorage, Ajaxand so on.
Then, before you can try to use these techniques do little remodeling project, or you can try to do a more complex projects, such as imitating a know almost, write yourself a blog system, and so on. Anyway, now, the basic technology will be, but not skilled, a lot of practice is required to make these technical mastery.

How to prepare school recruit

Because the most recent period, I have been ready to recruit school, quite a few detours, also stepped on a lot of the pit, hoping to be part of this experience to others.

Resume preparation

Since going to the interview, resume course, it is the most basic preparation work. For the people who do the technical route, resume what needs to pay attention to it. Simply put under my views.
First of all resumes must be clear and concise, or how to call the resume. Concise, including typography, color and fonts. General advice is the main color is best to use light colors and color the entire resume is best not more than two, according to vertical typesetting typesetting on the natural flow of the document, there are clear boundaries between each large block font recommended Microsoft elegant black, bold, Times New Roman font such as this common, one looks comfortable stress-free, the second is the common font makes HR warm and welcoming, of course, nor can not use a different font, the font will be very strange but risk, unless you are absolutely sure, otherwise it is not recommended to take risks.
Followed by writing the resume content, the most important thing is to try and write content related to your job search intention, and to prioritize. For example, when writing of the campus experience, A school experience is as Minister largest community so and so will be organized certain activities, attracted many people to participate, to what effect, B experience is as certain unnamed community members, completed the construction site community, organization of technical salon, attracting many people to participate. For many students, it is easy to give up preconceived B experience and select A, the reason is also very good, A community school is known for a community, well known organization in such activities in the community and get a good response is my strength prove. And B clubs, the number of small, unknown in school, few people know that nothing convincing. This is right, but I want to ask is A community prove your ability is the ability to care about it today interviewer? Since it is a technical interview, of course, is most concerned about technical ability, but also for the interviewer that he did not care for A, B multi-person community, the more famous, they are the same in the eyes of the community, he was more concerned are you in there to do what the bear any responsibility. Obviously, building community sites, technical Sharon held this experience, the technical interview is even more points.
When writing experience, be sure to put the technology related to the most prominent position, while his own favorite, the most familiar items on the front, always remember that the interview is technology Kong, always put on technical competence first, there are other opportunities to show again when additional capacity.

Intellectual preparation

In fact, in school recruit interview, the focus is still the most basic knowledge. In my laboratory has long been sister school seniors assists interview experience, we asked the most questions so few categories. One is the elevation of the basics, such as the prototype, the prototype chain, closures, objects, inheritance, etc., is a network protocol, operating mechanism, such as TCP三次握手, Event Loop, 消息队列and so on, then there are algorithms such as 数组去重, 快速排序, 冒泡排序and so on. Of course, CSS and HTML-related knowledge, is hot Flex, Position, CSS画各种图形, 如何实现垂直水平居中, 常用的浏览器Hack代码and so on, these are relatively mixed and more, but not much basically need to understand the part a few times that you know, review them very quickly.
My advice is this knowledge at the time of the review, it is best not only to know the basic content, but also understand the concept and extension.
For example, posiation which has several attributes, what are the differences?
Most people can answer that static | inherit | relative | absulote | fixed, which fixedfrom the document flow, relative positioning of the window, absulotefrom the document flow, a relatively recent Positionproperty is not staticthe parent element positioning, relativewithout departing from the normal flow, relative positioning of the elements to the original position. Of course, these say is correct. However, if you can say center | page | stickyand know why these types of targeting emerging would be better, that is why there is stickypositioned, it addresses before use CSSto solve any problem that can not be realized or, more convenient use before CSSrequiring a large sections of code to achieve results. If you can tell how the current compatibility, which are used in place would be better. And by thePositionExperienced interviewers will easily lead to problems from the document flow, document flow and how to escape, way different from the document flow characteristics of each, and so on.
Simply put, is in preparation for the interview process, knowledge of hotspots require a comprehensive understanding, not just to understand the basic properties and usage, while common interview questions are asked and skills but also understand, at the time of preparation Take your own questions to ask the interviewer's mind.
When reviewing knowledge, I highly recommend everyone own summary, written blog. Because we want to send to the Internet has been reviewed articles, the subconscious will write more rigorous, serious, will be finishing relatively well and accurately.
I used to come across large knowledge point of time will be collated into a blog post, in the process of finishing will reference a lot of articles, check basic different books, many times you will find that with a knowledge of different bloggers pen in completely different tone. Some even are wrong. I am more and Zhangxin Xu teacher recommended Ruan Yifeng blog post, most written very complete and extensive case studies.
Here is the part I did organize and summarize, some have been synchronized to the blog, some still continue to organize.
Some notes
Some notes

Mentality ready

The process of looking for work and recruit staff has always been a mutual choice, there is no best, only the most suitable.
For a very good level, there are goal-oriented person, ready to do is work to fully understand the target company, improve the sense of smell, to capture every minute information. For example, I am very interested in the company A, and know that every year the school recruit. So you have to do is focus on recruitment A company official website, micro-letters, join A company's recruitment community, active use of existing resources to capture first-hand information of alumni, while technically attention A technical team of the microblog, blog keep abreast of company a's technology trends, careful study of its technology stack used to analyze the technical route and taste.
As for the technology in general, there is no clear target students. To do is extensive resume, interview accumulated experience, increase the probability of being selected. This is a very simple math problems, in the case of the same molecule (technical level), the larger the denominator (interview company), the better the result (the more the offer). And the interview has always been a Daguai upgrade process quick phone interview down by the accumulation of experience, make up the short board, and finally got the case name companies offer uncommon, it is important good at summing up, the interview did not answer the question came up, out, down must be a good summary, think about what the interviewer wanted to study, I do not know why this knowledge, because knowledge is too biased, or because they belong to the non-intellectual content, or because unskilled, in different ways for different problems to make up , and consider the next step if the answer up what he might ask. Again, ask yourself questions from the interviewer's perspective.

to sum up

Finally, the well-known known borrow almost encourage each word. To the extent of the effort low for most people, simply fail to get the talent to fight. Therefore, desperately trying it, little friends, I hope we can go farther and farther in the front end of this road.
Xi'an also hope that the front group more and more professional, more open and dynamic.
Finally, the last, I would like to mention my school Xi'an University of Posts and my lab ThoughtCoding laboratory , this is a great school and a very open and inclusive laboratory. I am grateful to be able to meet them when I was growing road.
At the same time feeling again Xiejiekege brother and F7 provide such a good platform for exchange and networking opportunities, as well as junior partner in Xi'an everybody's pointing the front group, from you also learned a lot of things that we can progress together.

Here is my Blog, Github and mailboxes, welcomed the interest of junior partner and I discussed the issue with the common progress.

Blog: ovenzeze.coding.me

Github:github.com/ovenzeze

E-mail: [email protected]

Guess you like

Origin www.cnblogs.com/jlfw/p/12506014.html