On Thursdays we'll take a break from coding to practice technical interview questions. These questions will (primarily) revolve around the content we learned this week. Just like a real interview, some will be more technical than others.
In addition to learning how to implement the new concepts from this week, you need to become comfortable discussing them too, so you may accurately demonstrate and communicate your skills to potential employers in an interview.
Take turns answering the following questions with your partner:
Technical Interview Questions
- What is the MVC pattern?
- The MVC pattern is used throughout many different frameworks in many different languages. Why do you think it's considered so useful?
- In terms of an MVC, what is a component?
- How do you decide what content should reside in a component, versus what content should reside in a template?
- What does it mean when something is a compiled language?
- Why is TypeScript considered a compiled language?
- What is ECMAScript? How does it relate to web development?
- What is a module? What purpose does it serve?
- What is two-way binding, and when should it be utilized?
- Describe an appropriate use-case for a child component.
- Discuss how to communicate between the modules of your Angular application.
- Describe the type of project you might utilize the Angular framework for.
Stories and Examples
Offering a tangible story or example that highlights your skills usually goes much further in an interview than simply telling your interviewer you're good at something. (ie: Telling a story about a time you tracked down a tricky bug versus simply saying "I'm good at problem-solving!").
As a guideline, here's the SHARE technique introduced previously:
- S: Describe a situation you faced relevant to the interviewer's question.
- H: Outline the hinderances and challenges the situation presented.
- A: Describe the action(s) you took in response.
- R: Go over the results of your actions.
- E: Then, evaluate what you've learned.
Using the SHARE outline, give an example of a time...
- You learned a new framework or language. How did you approach it? Did you jump in and get your hands dirty? Did you study carefully beforehand?
- You went above and beyond the minimum requirements to get a project done. What did you do? Was your effort recognized?
- You didn't agree with another developer or teammate. How did you resolve the issue?
- You assisted someone else in understanding a technical concept or problem. How did you communicate it? Did you assist them in learning something new?