Disclaimer: All opinions in this article represent my personal opinions, not the position/opinion of the company, department, or team. The right or wrong of the content and values are judged by the readers themselves. Friendly communication and discussion are welcome, and I hope to be harmonious and different.
First come a soul torture: Compared with others, what advantages do you have that can form a clear distinction?
There are two levels of problems here. One is how to identify your advantageous conditions . After all, most people may be in business most of the time. When it comes to writing a resume, they are asked to summarize the points of their daily work that are different from others. Difficult, what should I do? The second question is that you may have tapped into your own advantages, but how to organize the content in your resume and how to express it so that the interviewer can quickly get to the point ?
This is not easy. I have seen many resumes, especially those of classmates with less than 5 years, which are not up to expectations. Some of them are really mediocre, and some of them clearly have good experience, but they just don’t. Expressed, it's hard to get the bright spot in a few minutes. Recently, a lot of people have just come to me for internal tweets. I will try my best to help to see if there are any obvious problems. During the communication process, I have gradually summarized some common problems, so I have this article. Students who are about to find a job.
This article will not talk about too many basic issues, such as format, font size, font and other issues. There are already many articles on the Internet, so there is no need to repeat the discussion. This article will focus more on the content, focusing on how to highlight your personal strengths within a limited space , including how to find highlights in your daily work, how to organize language so that the interviewer can quickly understand your highlights, and the need to avoid those that may cause A pit of negative effects. If you have any ideas and opinions, please leave a message for discussion. If it is really helpful to you, please don’t be stingy with your likes. This is very important to me and can inspire me to continue to write more articles.
How to Spot the Highlights
The key is to keep records and accumulate enough material. On this basis, learn to identify what is a plus point for a job search and what is not.
stick to the record
Writing requires materials, and of course writing a resume also requires materials. The materials for a resume come from our accumulated work, and we can develop a habit of consciously recording some experiences in the form of text.
There are many ways to record, such as technical blogs, project logs, annual summaries and even weekly reports. This written summary can be reviewed at any time. The so-called good memory is not as good as bad writing, and this information may eventually become an important material for your resume.
Of course, there is no need to keep a detailed account of everything, and you can focus your limited energy on some important nodes:
- When the project starts, the process, thinking, arguments and conclusions of technology selection
- At the end of the project, review, reflection, key and difficult points, and data indicators of the execution process
- Debugging process, logical derivation, and solutions when encountering problems with open source frameworks
- When learning new technologies,
- When solving performance problems, how much is improved before and after optimization, what are the specific optimization measures, what tools are used, and how are they implemented?
These nodes are good opportunities for personal growth. Write them down, record what problems you encountered in the process, and how to solve them. When writing a resume, doubling it is better than recalling it by feeling. .
Identify highlights
After accumulating enough materials, you can select the materials from the materials according to the company, business, and target position you are interviewing for, which is more likely to be picked by the interviewer, that is, the so-called "highlights" to organize your resume.
Highlights should be those experiences that make you stand out, such as:
- Some in-depth performance optimizations have been done, and there are relatively large performance gains, and there is room for energy improvement.
- Have done some projects with particularly complex business logic and great business influence
- Promoted some systems and tools, which have profoundly affected the work process and work methods of the team and the entire company, and have improved overall effectiveness
- Using some less common technologies, it has solved problems that are more partial to the front end, such as live video
- Have done open source projects that have a certain reputation and can really solve technical problems, demo, awesome-xxx are not included in this list
- In-depth study of the usage of some tools to solve some problems in engineering, development efficiency and performance
- Submitted really complex and meaningful MRs to well-known open source projects, typo class fixes are not included in this list
- I have studied the principles of some frameworks, and can continue to output enough articles with technical depth, or have clearly solved complex problems in the project
- ...
This list can go on and on. Different people, even the same person, will have different judgment criteria at different times with the growth of experience and cognition, so there is no standard answer here, just try your best.
what's not a highlight
In the process of sorting out, you should pay attention to avoiding information that cannot give you extra points. You should reflect on it rationally. Is this experience complicated enough? Is it enough to show your best? You really have a good grasp of the techniques used here, can you handle the interview?
Here are a few anti-patterns:
- A single-point technical breakthrough is not a bright spot, such as solving a single style bug of a UI framework, the volume is too small
- Have done a lot of projects, can't call it a highlight, it can only prove that you may have been working for a long time
- The technical framework and tools have been in the stage of use, and the internal implementation principle is completely unclear
- Just solving some very common, very common problems with a large number of ready-made solutions on the Internet cannot be regarded as a bright spot
How to express highlights
After you have accumulated enough material, you need to explore how to effectively convey it to your intended readers through your resume. Interviewers are usually very busy, especially many large factory interviewers may browse hundreds of thousands of resumes every day. How to organize the content to effectively convey your information? How to grab the interviewer's attention in a short time? Further, how to guide the content of the follow-up interview?
The first is the basic format. This aspect is relatively simple. Just find a template that you think is the most concise and refreshing on the Internet. I personally prefer this . What is more important than the basic format is actually the content. How to present your ability, professionalism, personality, etc. in just one or two pages, let’s talk about it below.
Establish technical personnel
The so-called human design can be simplified as what we have done and what we will do.
what have you done
When it comes to resumes, it usually needs to be presented from the perspectives of project experience and mastery of skills. Project experience is the core component of a resume. Most interviewers attach great importance to this part. Do not write blindly, be organized and orderly. , there are important points, I personally summarize a few rules:
- Consciously select a few project experiences that can highlight a certain skill or a series of skills. For example, if you want to highlight vue, then you should try to focus on this theme to avoid the situation where it will be Vue for a while and Lua for a while. , to let the interviewer immediately get your technical expertise is vue
- Organize the language well, project experience from far to near on the time axis, and gradually refine and deepen around the theme you set. For example, you only used this technology in the initial project experience, and then gradually began to better apply it. Ecology; better understand the implementation principle and be able to solve complex performance and engineering problems; even further develop some valuable open source tools, or output some high-quality documents to feed back to the community. Let the interviewer feel the process of your gradual growth from a novice through the project experience
- The first two points are all about expressing depth. For students who have worked for more than 3 years, they usually require not only depth, but also a certain breadth and vision. To be honest, this is not easy to achieve. One way is to build around it. In-depth, outward expansion to supplement work experience related to the strong front-end foundation, such as performance optimization and version upgrade experience related to network stacks such as http, TLS, http2, and TCP; or, experience in troubleshooting and repairing memory leaks, FPS, FCP, FMP Optimization experience with low indicators, etc.; or some more complex development scenarios, such as editors, compilers, visualization, complex animations, multimedia, etc.
To sum up, try to be multi-functional, with both depth and breadth. The depth can help the interviewer to quickly judge your technology stack, reduce the mental burden, and not look tired; the breadth can help the interviewer to identify your learning ability, potential, tolerance for complex development scenarios, etc. In addition to the basic technical personnel, it is best to convey the depth of your cognition of the industry by the way, which will be discussed later.
What are you going to do soon
Many interviewers like to ask: What is your career plan for the next 3-5 years? Many people will think that "career planning" is a vain thing, and are unwilling to take the time to sort it out carefully. In my opinion, career planning is for yourself first, it sets a path for yourself, you need to make choices constantly in your daily work, the clearer the path in your heart, the lower the cost of making decisions to keep getting closer to the goal.
For the interviewer, in most cases, this question first examines whether you have a clear enough cognition and sense of purpose in your career. Three days of fishing and two days of netting is like frequent job-hopping. Accumulate enough depth in the vertical field; secondly, examine the ceiling of your plan, if you do not show technical and professional ambitions, it will be easy for people to judge your development potential; finally, examine the degree of match between your plan and the team, which is a matter of opinion , cannot be generalized.
Therefore, it is necessary for others and yourself to spend some time first, to figure out what you want to do in the next 3-5 years, to what extent, and to establish a clear career goal. This topic is a bit off the topic of this article, because it is difficult for you to express your career plan in your resume, but it can be presented in the form of additional material in the resume, such as personal blog, github.
In terms of blogging, you can write multiple blogs around this topic for a period of time around the career plan you set, so that the interviewer can feel that you have ideas and are indeed working in this direction.
The same is true for Github. For a period of time, some warehouses with better code quality are output on this topic. Usually, the interviewer will look at the star first, and then look at the code style. If you can't save more than 100 stars, try to put The code is written better, which is also a plus.
quantify
Numbers are a big killer! Correct use of various quantitative indicators can make your resume more focused, more credible, and easier to gain recognition. Many things can be quantified, such as:
- Performance improvement : Performance optimization is usually a very comprehensive and complex scenario, which requires sufficient knowledge depth and flexible use of various debugging tools. Therefore, interviewers usually pay more attention to this experience. If they can infer the situation before and after optimization The indicator changes are better
- Business efficiency improvement: In this aspect, a certain type of tool is usually introduced or created to change or optimize the original workflow to achieve a better local or global solution, thereby improving the overall efficiency. The optimization direction is not limited to the development team. This type of optimization is closely integrated with the business. It may be difficult for an interviewer to change the business direction to get to the point from what you are doing. If you can provide some specific optimization values, it will help readers make judgments. It may be that the process has improved xx \%, the completion rate of the work order has increased by xx, reaching xx, the response timeliness has increased by xx, etc.
- Business promotion : If you are fortunate enough to participate in a relatively fast-growing project, and you are a core member of the project, you can consider summarizing how much the business indicators of the project have increased from the beginning to the time you are ready to leave.
- Influence : The concept of influence is more subjective and difficult to quantify, but it can also be corroborated by other indicators, such as xx intra-department sharing, xx company-wide sharing, xx large-scale industry sharing during work; or , output xx blogs etc.
Note that the premise is correct. Don’t deliberately fabricate or take some non-existent numbers for the purpose of quantification. The numbers taken out are usually easy to read, and it is easy to reveal the secret during the interview, which is unnecessary. It is recommended to develop data thinking in daily work, including business and technical, especially when doing some optimization, record the numerical situation before and after optimization, and naturally have materials when writing resumes.
business depth
Let me share my personal experience first. I once worked in a very small and beautiful artificial intelligence startup company for three years. Although the function is the front end, I did not clearly define the boundaries of my work in the process, and I often went to support services very divergently. terminal, data, and even the work of the operations team, such as:
- Develop a timed settlement system with Python + celery to reduce reconciliation costs and compress the settlement cycle
- Using node + ffmpeg + docker to make a set of video streaming tools, which can perform frame extraction, clip clipping, compression, format conversion and other operations on a batch of videos according to the configuration
- In a project of POC nature, use Python + caffe to call the deep learning model to realize the image recognition service, and cooperate with the browser to call the media interface to send the camera screen back to the server to identify the items in the screen
There is really no obvious benefit in the short term, but when I left to write my resume, I found that these experiences were connected together, so that my understanding of the working process, principles, limitations, tools, indicators and other concepts of deep learning was enough to support me in the interview process. Dealing with various problems, it will be particularly smooth to talk about this part when looking for a job later.
This is not to encourage everyone to do many things outside the front-end field, but to express that the understanding and insight of the business and the cooperation team can reflect your commitment to work, and the market usually prefers people with high commitment. Therefore, in daily work, you can consciously use various methods to cross the functional boundary to understand what other teams are doing, how to do it, what tools and technologies are usually used, whether there are any problems, and whether there is any way to use the front-end for these problems. technical solutions, etc.
After you have formed a sufficient three-dimensional cognition of the industry, you may be able to show your horizontal cognition in this field when writing your resume and interviewing. What are you doing, how you are doing it, what are you doing with it; what plans will the business line have next, and what new technologies may be needed. If you can't answer these questions, the interviewer will easily doubt your commitment to the work.
How to write project experience
Don't just write what you did, but more importantly, highlight what methods you used, what problems you solved, and what the benefits were. To be able to form a complete logical closed loop, the interviewer will have enough information to judge the value of your project experience.
For example, regarding the experience of introducing a performance and exception reporting tool in the XXX project, the team made some targeted optimizations based on the recovered data. I once received a resume that said:
Integrated monitoring SDK, including page speed measurement, error exception, API quality, white screen exception, URL exception, collect various error information in the project and report it, perform speed measurement analysis through the performance API, and encapsulate the basic library ajax to report API error information; The monitoring system cleans, aggregates and analyzes the indicators reported by each end, and restores the source code by aggregating the sourcemap of the error module, which is convenient for repairing online problems; Refactoring the project code and call chain, the loading time is shortened by 20%;
There are some obvious problems here:
- The language organization is too flat, and the point is not perceived
- What is the monitoring SDK? What is the integration method? How much work is there? Are there any difficulties?
- Poor form and description, high reading cost
- What are cleaning, aggregation, and data analysis? What does the front end do here?
- Error module aggregate sourcemap? Are there only error modules? What the hell is aggregation? Why can online problems be "easy to repair" after aggregation and restoration? What is the principle of sourcemap?
- What is the relationship between "refactoring project code" and the aforementioned "integrated monitoring SDK"? Why write them together?
- Which metric is the load time specifically? What exactly was shortened?
To sum up, I personally think that the main problem is that the description is not clear, and it is difficult to understand what this is, how to do it, and what the final benefit is. A better way should be:
- Introduce (based on) xxx to build a performance and exception monitoring system, covering performance indicators such as FCP/FP/FMP/TTI/LCP; covering white screen, page crash, JS exception, http exception and other error scenarios.
- On the basis of the above monitoring system, the core performance index model is gradually deduced, and based on this, the image merging, code subcontracting, caching strategy optimization, first screen rendering optimization, SSR and other measures are gradually implemented, and the average front-end performance index is increased by xx\% , QPS increase xx\%
- On the basis of the above monitoring system, optimize the project CI process, access the sourcemap mapping capability based on webpack, online problems can be directly mapped back to the source code stack, and the average repair time of online problems is reduced by xx\%
This is not the best expression, but it has fully explained: what methods and methods are used, what problems are specifically solved, and what are the final benefits. Compared with the previous writing method, the narrative is more rigorous and easier to understand.
how to do subtraction
The content of the resume is in the "calendar", but the default condition is "jian", do not write it as a running account, and do not write it into an autobiography. Resume content is by no means the more the better. The more you write, the higher the reading cost and the harder it is to grasp the key points, so it should be moderately simplified.
Pay attention to the project path
If you already have a wealth of project experience, don’t choose to go all the way to your resume. It’s not that the more project experience you have, the better. You should carefully select a few representative paragraphs based on your personal situation, such as:
- Can show technical depth, or business complexity, business volume
- Those who can show learning ability, for example, in order to use a framework with missing documents, it took a while to read the source code to summarize the usage, and finally be able to
- Able to build a "growth path", this part has been discussed in detail in the section "Establishing a Technical Personnel"
Try to avoid these types of projects:
- Simple practice, the complexity and business value are very low
- too simple, such as a simple activity page
- It's like xxx. The training class likes to do this kind of exercise. Many candidates take this as an actual project and write it on their resume.
Use technical terms with caution
There is often a part in the front-end resume that summarizes your technology stack. You must be careful here. I often encounter many technology stacks that are very extensive, but all the technologies that have been used are written on the resume. One is that it looks and analyzes tired; One is the interview process, one question and three questions. I suggest asking yourself before using any technical term:
- Will this technique add points to your resume?
- Are your frequency of use and understanding high enough? Is it enough to deal with the various technical problems that may arise?
- Is this technology enough to distance you from other candidates?
For example, the experience of "I used grunt to build a complete engineering system" cannot be said to be completely worthless, but in the contemporary era when webpack, vite, snowpack, parcel, and rollup are popular, this experience can give you extra points ? On the contrary, it may make the interviewer question whether the speed of your technology update and iteration is too slow?
For another example, "I once wrote a web page with video" experience is not enough to support you to write "with video codec capabilities" in your resume, if you go further "I used to implement dynamic video streaming services based on HLS + FFMPEG" , cooperate with video.js to realize on-demand playback" (as mentioned in my other blog HLS + ffmpeg to realize dynamic stream video service ), then it can be said that you "understand common video encapsulation and encoding formats, and can Application scenarios to build a smooth video playback system".
From the perspective of an interviewer, simply stacking nouns can easily make people question the depth of your knowledge and the accuracy of your own cognition. Appropriate tailoring can often highlight your advantages.
use adjectives sparingly
When I wrote my resume for the first time, there was an article that impressed me a lot, and I forgot the details, but there was a very important point in it: don't write proficient! I think it's especially true, because most people don't have this level of mastery of most technologies. If you really think you have a point of mastery, it may be the truth or it may be fearless.
For example, do you think you are proficient in HTML? So:
- What are the optional values for the type attribute of the input tag? What functions do they correspond to? How compatible is the browser?
- What are the semantics of tags? Why Semantic? Who would consume these semantics? How to assess whether semantics are appropriate?
- What is the aria attribute? How to write a reasonable aria structure? Who, and in what way, will consume these attributes?
Or, do you think you are proficient in vue? So:
- What is two-way data binding in Vue2? How? How does this process affect props, computed properties?
- If you understand the above question, what about Vue3?
- How does Vue convert template to render function? And how to identify the component corresponding to the label? What is the order of creation between component hierarchies? What is the rendering order?
This list can go on indefinitely. The so-called learning is endless, and there is no harm in being humble. My personal approach is to never write "proficient", because I know that I am far from proficient in any technical point; but I will write 1-2 familiar technical items, and I will try to write them in the first order. ; In addition, some understanding will be added, and those points that are not grasped will be ignored or not written. The scope can be wider, such as network protocols, construction tools, and development frameworks, but the total number should be kept to 3-5 as much as possible.
There may be classmates here, especially interns and fresh students, who are worried that the technology stack is not broad enough and will not get interview opportunities? This is actually a question of learning strategies. If you stand from the interviewer's point of view, if you put two resumes in front of you, one seems to have little content but obviously has enough depth; the other is very technical. Nouns, but there seems to be no obvious relationship between nouns, which one would you prefer?
Summarize
Resumes are not easy to write, and even more difficult for technicians. It is very necessary to spend more time to build an excellent resume for the job you want.
I have been working for 8 years, currently doing front-end work in the game department of ByteDance. I have read thousands of resumes before and after, and there are many problems on the resumes that can still be seen. If you happen to be looking for a job or are about to find a job, I am very happy. Willing to help you check; if you just want to come to ByteDance to try a front-end position, I can help you push to ByteDance, simulate interviews, share my views on ByteDance's various business lines, working environment, etc. Wait, welcome to WeChat flirting: tecvan .
This article participated in the SegmentFault Sifu essay "How to "anti-kill" the interviewer?", you are welcome to join.
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。