
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
All videos have closed captioning matching word for word with what is spoken. I attempt to explain everything I'm doing on screen in great technical detail that would help in the case of visual impairment. If you find any areas that have errors or could use additional improvement please use the contact instructor on the course page with details on what can be improved and rough timestamps of any videos.
Determine if two input strings are anagrams using an efficient n log n approach. Translate the steps into code, note that anagrams differ from palindromes, and implement the is_anagram function.
Explore the find max occurrence problem by implementing a counting algorithm that identifies the most frequent character in a string, returning that character and its count with O(n) efficiency.
Solve the max occurrence problem by counting characters with a hash map, normalizing to lowercase, and using alphabetical tie-breaking while removing invalid characters.
Learn to count islands and continents in a grid using a breadth-first search approach, with visited tracking and in-bounds checks, to classify landmasses as islands or continents.
Design a scalable backend for Coffee gram, an Instagram clone for coffee photos, across mobile and web, by asking clarifying questions and choosing architecture and data strategies that scale globally.
Assess a bad, overly simplistic coffee gram design with web front end, mobile app, and a relational SQL back end, and learn why it fails to scale.
Instructions:
Download the Excalidraw template from the lecture resources tab. Go to https://excalidraw.com and open to load the starter content.
Self driving car system design overview:
* Your job is to design the internal data system architecture for a self driving car. You are NOT designing the self driving logic etc. Your job is to collect data from inputs and make it available to applications to consume the data.
* Use any terminology you are familiar with for designing the architecture. Whether that's AWS, Google Cloud, or on premise technologies.
Clarification Questions:
Q: Are all the sensor or cameras the same data rates?
A: The sensors and cameras can be different data rates along with different data resolutions.
Q: What constraints exist regarding hardware (cpu, memory, etc) on the vehicle?
A: For the purpose of this system design we'll keep it open ended to support whatever we may need within reason. Obviously, we won't have a local data center in the vehicle but anything within reason we can support.
Design a real-time in-memory data layer and long-term storage for a self-driving car, using time-series databases, blob storage, and pub-sub streaming for scalable analytics.
Technical interviews are hard! It takes a combination of lots of practice, a good interviewer, and a bit of luck.
This course will cover the most common things that interviewers are looking for in grading your technical interview.
First, we'll do a crash course on data structures covering arrays, hash maps, & linked lists.
Then we'll cover real coding questions that I and my team ask when interviewing candidates.
We will also cover system design questions and how to be verbose in answering and discussing solutions.
We'll cover management & behavioral and most importantly the questions that you need to ask your interviewers. Remember, you are interviewing them just as much as they are interviewing you!
Finally, we'll cover salary expectations and how to properly value your experience to maximize your salary!
Our focus will be for a generalist programming interview (Full Stack, Backend, Data Science, Tools Programmer). With a some software development experience. Knowing variables, loops, functions, objects, classes, basic data structures.
In this course we'll be using Python. However, for your interview select the language you are most comfortable with!
Don't get discouraged. Despite interviewing hundreds of candidates on a yearly basis for everything from Data structures, algorithms, architecture & design. Entry level to senior positions I still fail interviews too.
Interviews are tough but by knowing what interviewers are looking for and what hints to listen for can help increase your chances of landing that new job!