Join me to stay up-to-date and get my new articles delivered to your inbox by subscribing here.
This guide is designed for final interviews. Generally, this type of interview panel consists of coding, system design and leadership / behavioural interviews. If you are here and reading this, highly likely you are preparing for this type of interview. If that is so, congratulations on making it to the final onsite interviews. Good luck. […]
Introduction Breadth-First Search (BFS) is a fundamental graph traversal algorithm used to explore and search for nodes or vertices in a graph in a breadthward motion. It is a simple and intuitive algorithm that operates by visiting all the vertices at the current level before moving on to the next level. BFS is widely used […]
Introduction Depth First Search (DFS) is a classic graph traversal algorithm that has widespread applications in various areas of computer science, such as graph theory, network analysis, and artificial intelligence. It is a fundamental algorithm that explores the depths of a graph, uncovering its connected components, finding paths, and detecting cycles. In this tech blog, […]
Introduction Data compression is a crucial aspect of modern computing, as it allows for efficient storage and transmission of data. One powerful data compression technique is the Burrows-Wheeler Transform (BWT), which is widely used in various applications, such as file compression, data transmission, and text encoding. In this tech blog, we will delve into the […]
Introduction Sequence comparison is a common problem in computer science and has applications in various fields such as DNA sequencing, text analysis, and version control. One powerful algorithm for solving this problem is the Longest Common Subsequence (LCS) algorithm, which finds the longest subsequence that two or more sequences have in common. In this tech […]
Introduction Sorting is a common task in computer programming, and it involves arranging a collection of elements in a specific order. There are various sorting algorithms available, and one of the most efficient and widely used algorithms is Merge Sort. In this tech blog, we will explore Merge Sort, how it works, its advantages, and […]
Introduction Matrix multiplication is a fundamental operation in computer science and has widespread applications in various domains, including data processing, machine learning, computer graphics, and scientific computing. In this tech blog, we will explore the importance of matrix multiplication, its basic concepts, different methods for performing matrix multiplication, and its relevance in data-driven applications. Why […]
Introduction Searching for a specific item in a large dataset is a common task in computer programming. One efficient algorithm for performing such searches is the Binary Search algorithm. Binary Search is a powerful and widely used algorithm that is particularly suited for searching in sorted arrays. In this tech blog, we will explore the […]
Introduction Sorting is a fundamental operation in computer programming, and there are many algorithms available for this purpose. One popular and simple sorting algorithm is Insertion Sort. It’s a comparison-based sorting algorithm that works by dividing the dataset into two parts: a sorted part and an unsorted part. The algorithm repeatedly takes an element from […]
Introduction In the world of computer programming, sorting algorithms play a crucial role in organizing and arranging data in a specific order. One popular but simple algorithm is the Bubble Sort, which is often used to sort small datasets or as an educational tool for beginners to understand the basic principles of sorting algorithms. In […]