THURSDAY EXERCISES
Merge Sort: do some research, and try to find out the “Big o” representation for a merge sort algorithm.
Binary Search: What is the max number of guesses it would take for a Binary search to find a number within a list of 10 million numbers?
Although today was more about theory than any other part of this book, it’s one of the most important aspects of programming. Big o notation helps us to understand the efficiency of our programs and algorithms. it’s always important to understand why we use certain data collections like dictionaries or lists. When efficiency is important, dictionaries can be implemented to improve a program. this is another reason why we use dictionaries for caching.
Friday: Interview Prep
If you’re looking for a new career or job as a Python developer, then all these lessons would be for naught if you can’t pass the interview process. For this Friday, we’re going to cover the process of a general software development interview. We’ll cover each stage, what to do before and after the interview, whiteboarding, answering general and technical questions, and how to contour your resumes and profiles. This lesson is meant to be helpful for those either struggling on the interview process or those of you who have never had a formal software development interview. If you have no interest in this section, and wish to continue, use today as a break from this book’s schedule.
Developer Interview Process
The interview process for a developer role can be broken down into many different stages. In the following, you’ll find the main stages that many companies in the industry practice. Keep in mind that this is a general interview process and not every company will follow these to a tee. Use this section as more of a guide on what to possibly expect:
Stage 1
Basic questions about yourself along with past work experience. The first step will usually be a phone call with a 3rd party recruiter, internal recruiter, HR, or talent acquisition of the company. During the first step of the interview process, the interviewer is trying to gauge if you are the correct fit for the role. They are looking for you to mention the “Buzzwords” along with providing information on why you are a good fit for the position. You want to relate yourself to the position. Be sure to talk about your experience using the languages and technologies they’re looking for. The interviewer is looking for you to meet half of the requirements to make yourself a good match. No one will ever know everything, but it is good to show them what you know and your willingness to learn.
Note Buzzwords are keywords that the position is looking for. For example, a back-end position using python would expect to hear words like API, JSON, Python, Flask, Django, Jinja, Relational Databases, PostgreSQL, etc.
Stage 2
If you’ve made it past the phone screen, you’ll usually be asked to come in for an in-person interview. This stage is generally where you meet other developers that currently work at the company. Although they’ll ask you interview questions, this stage is generally for the employees to see if they would like to work with you and get to know you on a more personal level. Generally, you’ll interview with small groups of employees at a time. You’ll have about two to five of these sessions that will last around 10–15 minutes each. Before hiring an individual, these groups will generally get together to discuss potential candidates for the next stage. During this stage, be sure to properly introduce yourself and shake each person’s hand. Get to know each employee, and try to relate with them on a personal level.
Stage 3
This is the technical round. In this stage, questions will be asked to assess the developer’s skills and abilities. Generally, there will be a whiteboarding question, a couple technical questions on paper, and a brain teaser. This stage is generally conducted with the hiring manager, or team manager that you’ll be working with. When asked a question, make sure you understand it clearly. You are more than welcome to ask as many questions as you need to clearly understand the problem before answering the question. If you do not know the answer to the question, let the interviewer know that you have not worked with that concept or do not see the problem. The interviewer during this stage will know if you have no idea what you’re talking about so don’t try and make something up. They’ll be more impressed with your honesty and try to guide you through the problem. During this stage, they don’t care if you’re right or wrong. They’re more interested in how you think and how well you can problem-solve.
Stage 4
At this point, you’re generally sitting with the hiring manager or an HR personnel. In this stage, you can ask questions about the company, as well as the job role. If you’ve made it this far, the company has seen value in you as a potential employee. Usually, this is where contract negotiations and salary conversations occur. At the end of the interview, always have questions ready to ask and lots of them. If you have no questions, it’s generally a sign of not being prepared or laziness.
Do'stlaringiz bilan baham: |