Exercise Thursday

Chances are, you're likely attending Epicodus because you're planning to begin a new career in the tech industry. We're so glad to help you on your journey! After your time with us, you'll begin applying and interviewing for positions. Usually, in addition to the more "standard" interview questions about your work experience, career goals, and education, applicants in the tech industry are also asked to answer technical questions.

For many, these technical interviews are the most stressful part of job-hunting. Coding can be challenging enough, but being prompted to explain and demonstrate complex concepts in front of potential employers is tough. The key is to practice ahead of time to ensure you're ready for the real thing before you even schedule the interview!

Each Thursday we'll take a small break from coding to practice technical interview questions with our partners. These questions will (primarily) revolve around the content we learned this week, and, much like a "real" interview, some will be more technical than others. In addition to learning how to implement the new tools, technologies, and concepts, you also need to become comfortable talking about them in order to demonstrate and communicate your skills in an interview.

Technical Interview Questions

  • What is encapsulation, and how does it apply to programming in PHP? What are the benefits of keeping an object encapsulated?
  • In terms of PHP programming, what does "visibility" mean?
  • Discuss the basic parts of a project in PHP. What are they steps for setting up a PHP project?
  • What does Composer do? Why would we need a .gitignore file when using Composer?
  • What does Silex do that helps us build web apps quickly?
  • What are the specific step we take to setup a Silex app?
  • What is a class? What benefit do they offer?
  • Walk through each of the following portions of an MVC with your partner, describing what each is responsible for: Model, View, Controller.
  • What is the difference between a static method and an instance method?
  • When would we use a static method? When would we use an instance method?
  • What's the difference between a GET and POST request?
  • When would we use a GET request? What about a POST request?
  • What are getters and setters and why are they important?

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!").

Have you heard of the SHARE technique? It's a useful guideline for telling stories and giving examples that demonstrate your capabilities in an interview. It works like this:

  • 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 faced issues working with a partner or team. What did you do to resolve it? How did it work out?
  • You became incredibly frustrated with your code. What was the issue? What did you do? Would you have done anything differently?
  • You refactored really well. How did you do it? Why? What led you to refactor?

If you come up with a story or example you feel good about; jot it down somewhere! Seriously! It's tough to come up with stories like this in an interview on the spot. Having a few tucked away to review before an interview will be a huge benefit to you later.