
Enhance your problem-solving skills for coding interviews by solving real-world Python challenges used by big tech firms, with time complexity insights, practice problems, source code, and expert guidance.
Introduce yourself in the Q&A, share where you come from and why you enrolled, and help us provide a great learning experience.
Explains how to check palindromes in Python by reversing a string and comparing it to the original, including implementing a custom reverse function.
Delete duplicates from an array with a simple pass that builds a unique result. Improve performance with a dictionary for faster average-case, or a balanced tree for n log n.
Count characters in a string by building a frequency dictionary and updating counts for each character. Improve readability with a defaultdict and explore using dict.get to handle missing keys efficiently.
Check if the first list is a subset of the second by testing each element. Improve to linear time by turning the second list into a dictionary for fast checks.
Shows how to print random elements from a Python list by selecting index in 0 to length-1, printing it, then removing it with delete or by overwriting with last element.
Learn to reverse a two dimensional matrix in place by first reversing rows and then reversing each row, using Python lists and understanding immutability and matrix references.
Find a contiguous sublist that sums to a given value in Python using a two-pointer approach on a positive array. Return the indices or -1 if no solution.
Learn to locate the missing number in an array of 1 to n using a simple linear scan, a sorted-array check, and a recursion-based divide-and-conquer approach for large inputs.
Develop a parentheses checker using a left-parentheses counter to verify strings have properly closed parentheses, never more right than left, and end with zero left parentheses.
Count the number of leaves in a binary search tree with a recursive function, defining leaves as nodes with no children, and discuss time complexity in terms of node count.
Count leaves in a tree using a loop instead of recursion, by iterating nodes, adding left and right children, and counting leaves when a node has no children.
Compute a binary tree height by recursively taking 1 plus the maximum of left and right subtree heights. Handle leaves, single-child cases, and empty trees, and trace values with prints.
Assess two binary search trees for identity with an iterative, non-recursive traversal that compares corresponding nodes and their left and right children, and verify complete equality.
Learn how to extract and sum all numbers embedded in a string using a Python function that accumulates digits into numbers and adds them to a total, handling multi-digit integers.
Learn to compute the max sum of a subarray by partitioning at negatives, tracking start/end indices, and handling edge cases like empty or all-negative arrays.
Are you someone who wants to improve problem-solving skills or prepare for an upcoming software engineering interview? Then you have come to the right place!
In this course, you will improve your problem solving skills and prepare for an engineering interview with 18 real-world coding interview problems. Solving those problems will improve your problem solving capabilities and help you get a software engineering job.
Hello, my name is luke and I will be your instructor throughout this course.
In this course, you will prepare for your coding interview in python.
Basically I will show you how to solve real-world problems. That often comes up at a software engineering interview
These are the type of problems you can get at an interview in one of the big tech companies like Microsoft, Amazon, Apple, Facebook, and Google.
If you practice your problem-solving skills on these problems I promise you, you will be
better prepared for your interview.
So who is this course for?
This course is for a person who is preparing for a coding interview
Also, it is a good match for people who wants to get a job at one of the big tech companies and they need to pass the coding interview before they can get to the in-place interview.
And overall if you just want to improve your problem-solving skills, this course is made for you.
Another thing I want to mention is that this course is not designed for absolute beginners. It requires that you know basic programming concepts such as function, variables, if statements, loops and so on.
Also In the course, I am using some data structures to solve some problems so it would be great if you would know what I am talking about. I use only basic data structures like Binary search tree or Hash table.
In the course, there are currently 18 exercises on which you can practice your problem-solving skills.
You have the source code that is written in python available to every exercise.
And if you get stuck or if you don't understand something you can always reach out to me. Mostly I respond within a day.
So do you want to improve your problem solving skills?
Enroll today and I will see you in the course!