"What are you going to do if you need a turntable? Designers only provide images of one turntable, and you need to complete the rest. You cannot use frameworks and class libraries. "
"This turntable has no inertia requirement. You only need to drag the turntable with your fingers on your mobile phone to turn the turntable with your fingers. "
This is a frequently asked question when I interview front-end developers. The turntable looks similar.
Before M and C, bloggers often use this question to interview Mobile front-end development engineers. The product and Design of company M is an American team. In some projects, the uidesign is bold and refined, and has high requirements on front-end developers. Company C only accounts for a large number of front-end developers of JS, and product managers sometimes offer eye-catching demands. However, the answer from front-end development is often: "We cannot achieve this. ", The product manager can only give up.
So I designed this question, hoping to find some front-end developers with comprehensive knowledge and comprehensive application. During the regular interview process, because of the time, the candidates are not required to write it out in code, just talk to me about their ideas. During the chat, I will go into some technical details.
Through this question, you can find out your mobile development experience and comprehensive front-end knowledge application capabilities.
The requirement for this question is very simple, but developers need to have a comprehensive front-end knowledge. Let's take a look at the knowledge points involved (or extended) in this question:
CSS:
- Format of the background image URL, position, and size (the size of the clip image may be inappropriate );
- Container rounded corner attribute;
- Rotation implementation;
- What is hardware acceleration and under what conditions hardware acceleration will be enabled;
- Why is the display on the retina screen blurred? How can this problem be avoided?
JS:
- Touch events;
- Prevents default browser behavior;
- What are the differences between a touch event and a mouse event;
- Touch coordinate acquisition;
- If you want to drag the two fingers together, the disc can be rotated. What changes do you need to make to the code?
- Why is it best to use touch events instead of mouse events on mobile devices?
- How does native JS get the built-in CSS attributes of DOM and the attributes defined by the external style sheet file?
Html:
- Parameters and functions of viewport
Mathematics:
- Conversion of degrees and radians
- Vector computing
- Trigonometric function
Most of the interview questions look simple, but the knowledge involved is not simple. If you are interested, you can start with this exercise (you can only consider the webkit kernel first ). I think there will be great improvements for regular front-end developers.
PS. I made one. I will not release it now. I will release it in two days for your reference. : P
This article is original by blogger Arfei Zhang. You are welcome to reprint it. Reprinted please note