Have you ever wondered what question might be ask in an interview? As a developer you need to get yourself familier with some terms used in web development. Here are top most asked question in an interview, This is extracted from a Quora.com answer and it is written by developer from all angles around the world. Hope it help someone.
Question | where in the document should scripts and stylesheets get loaded? |
Question | how would you delay load images "below the fold"? |
Question | what tools would you use to measure performance? |
Question | what's new in HTTP/2.0? |
Question | how does a CDN work? |
Question | why should you use a PNG vs GIF vs JPEG vs WebP? |
Question | how do you unblock page rendering from long-running JavaScript? |
Question | what is jank and how do you fix it? |
when should you consider putting images in a sprite? | |
HTML | Understand that HTML5 is HTML and that the same application model is applicable. So, no new magical development paradigm was brought with HTML5 (outside of Canvas/WebGL, which is totally new), just browsers are more robust, much faster, and more capable. |
CSS | Understand that many of the effects in CSS3 are available in IE7 & IE8 with proprietary Microsoft CSS attributes. (rounded corners being the main exception). So, if a client wants to do "HTML5" looking app in IE7+, it is totally possible by use the "MS/IE7" old CSS properties and JavaScript animation lib like jQuery animate. |
JavaScript | Understand that JavaScript is completely Object Oriented, and that there is no need to have some meta-framework like Sencha to do good OO in Javascript. |
HTML | Understand the power of HTML and CSS for good component layout. Twitter/Bootstrap is a great (and probably the best) example of this. Simple HTML structure with simple CSS classes, and you can get some great reusable UI elements. |
User Interface and Responsiveness | Understand that decoupling UI layout/style from behavior (i.e. JS) brings a great deal of performance and flexibility. This could be described as the Twitter/Boostrap way vs the Sencha one. The former has a great decoupling between the HTML/CSS code and the JavaScript (which is not needed to get the layout/style), and the later, Sencha intermingles everything in a foreign all-in-one component UI and OO language (high-learning curve and high-degree of lock-in). (in other words, avoid Sencha like frameworks) |
User Interface | Understand the pros/cons of CSS animations vs JavaScript ones. The pros for CSS transitions is that it is easier for browsers to optimize them, Safari on Mobile/PC and Chrome on PC even move them to GPUs. The cons is that CSS transitions do not work on older browsers (IE 7 & 8) and that they do not offer much controls (e.g., can't really stop them and no curve path). |
Sever and Client System Communication | Understand the benefits and the "Why" of the Web Workers. In short, it's a way to do multi-threaded work in a single threaded environment. Before HTML5, the only way was with Ajax, and therefore including a server in the picture, now it can just be all local. |
Desing and UI | Understand the Canvas vs SVG. This one is a tricky one, as there are lot of "social-engineering" baggage behind the technical aspects. On the technical side, SVG is a DOM approach to vector graphic (and consequently retained mode) whereas Canvas is a programmatic and immediate mode approach. The catch is that sometime it seems that Canvas gets a little bit more "love" from the browser vendor developers as SVG always had a love and hate relationship with HTML from its beginning. |
Frameworks | DOM Centric MVC. Ok, this is more an opinion than a fact, but given my expertise, HTML5 application developer (not web page developers) needs to have a good understanding of what is MVC, and realize that they do not need "do-it-all" meta frameworks do do MVC in HTML. In fact, with little DOM extension, it is relatively easy do do MVC the DOM way. |
Question | what is RUM and how does it work? how does it differ from synthetic testing? |
OO JavaScript. | JavaScript is a prototypical OO language, instead of class based language. Understanding prototype helps you writing modular code and increate code reusability. |
Understanding DOM. | There are some basics about DOM and how the browsers work you need to know. Event delegation is one of them. It is closely related to browser memory, DOM manipulation efficiency. Knowing why the event delegation has benefits also helps answer this kind of questions. When is the reflow and repaint happening during the DOM manipulation? It will help you understand how to make the DOM manipulation efficient. |
Fluent CSS. | Knowing cascading is a must. Know the CSS naming convention, what is the good way to make the CSS work on the a page owned by multiple teams. If you have a solution using CSS3 to accomplish an interactive UI, use that. Using CSS is so much efficient than using JavaScript. |
Clean and efficient code. | When it comes to coding problems, come up with the best solution you can get, and continue improve it. Do not wait until the interviewer asks you how you can improve the code. Make your code modular and easy to read. Apply the best practices you know to your code. In the end, DO NOT FORGET to test your code. List a few test cases, and run through them. |
Modern technologies and trends. | For example, Reactive views have been a hot topic lately. Know the implementations such as React, and understand the benefits of them. Also, browsers become smarter and more efficient. There were some best practices are not applied nowadays. Front end web technology evolves so fast. It's always better to stay on top of it, and be aware of the trends. |
Understanding JavaScript | When a coding question is given, many candidates go straight with answers with jQuery. jQuery is an essential tool indeed, but at the same time, we often want to see how comfortable the candidate can work with vanilla JavaScript, and how much they are familiar with the language. It's always better to ask whether you are expected to answer the questions with help of libraries. |
Social | Having a LinkedIn account which is up to date |
Social | Have a good CV/Resume - |
Social | Customize your cover letter when applying to the company though their website |
Social | Make sure you have a GitHub account and a few projects on there |
Thanks!
Your feedback helps us improve tutorials.
No comments:
Post a Comment