Return to Technical Hiring Guide Front-End Engineer Using our grocery store analogy, front-end engineers are like the cashiers serving the customers. They work on the most visible pieces of the system, often called the presentation layer. This role requires good communication with designers and product people since they translate the overall vision into something people can actually see. Depending on the software being built, the front-end engineer can also be considered a User Interface (UI) Engineer, or if the software is web-based, a Web Developer. Questions for Front-End Engineers:
- Q: Explain MVC in simple terms. A: MVC is a programming methodology that is widely used for separating logic and business concerns to make implementation easier. M (Model) is the part of the code that represents data, or objects. V (View) is the part of the code that shows the things inside the Model. The actual views of the data composing the user interface. C (Controller) is the part of the code that gets commands from the user and tells the View what to show, gluing the Model and View together. To use an analogy, MVC is like a tv. The View is what you see on the screen. Your cable provider is the Model supplying the data and the channels, and your remote control changing what is in the View is the Controller. .
- Q: What are some ways to optimize website assets or resources? A: There are lots of examples but a few right answers include: file concatenation, file minification, leveraging a control delivery network (CDN), caching, gzip or other compression strategies, reducing image resolution or sizes, creating image sprites, etc. You can also ask about challenges on mobile versus standard web performance. Good candidates will have lots of ideas and suggestions and be able to break things down into analogies or examples to explain how they work. If it sounds like they might be reading the answers from a document, ask for specific examples from their experience. Good candidates will be able to provide a lot more detail.