Google SDE Sheet: Interview Questions and Answers (original) (raw)

Last Updated : 27 Dec, 2025

Google is a global technology leader known for its work in search, cloud computing, artificial intelligence, and software innovation. Landing a job at Google is a goal for many engineers due to its challenging interviews and high technical standards. This Google Interview Preparation Sheet is designed to help you prepare effectively by covering commonly asked interview questions and key concepts.

Google SDE Hiring process

Google follows a structured and highly selective hiring process designed to assess strong problem-solving, coding ability, and cultural fit.

**1. Online Application

2. **Online Assessment

**3. Technical Phone Screen

**4. Onsite Interviews

**5. Behavioral / Googleyness Round

**Computer Science Concepts:

Google interviews strongly emphasize core Computer Science fundamentals, including:

**Data Structure & Algorithms

Array

An array is a collection of items stored at contiguous memory locations. The idea is to store multiple items of the same type together. Practice Problem

**String

Strings are defined as an array of characters. The difference between a character array and a string is the string is terminated with a special character ‘\0’.

**Linked List

A linked list is a linear data structure, in which the elements are not stored at contiguous memory locations.

**Stack:

A stack is a linear data structure in which elements can be inserted and deleted only from one side of the list, called the top. A stack follows the LIFO (Last In First Out) principle.

**Queue

A queue is a linear data structure where elements are inserted at the rear and removed from the front, following the FIFO (First In, First Out) principle.

**Searching

Searching Algorithms are designed to check for an element or retrieve an element from any data structure where it is stored.

**Sorting

A Sorting Algorithm is used to rearrange a given array or list of elements according to a comparison operator on the elements. The comparison operator is used to decide the new order of elements in the respective data structure.

**Hash

Hashing is a technique or process of mapping keys, and values into the hash table by using a hash function. It is done for faster access to elements. The efficiency of mapping depends on the efficiency of the hash function used.

**Heap

A Heap is a special Tree-based data structure in which the tree is a complete binary tree. Heap and hash is an efficient implementation of a priority queue. The linear hash function monotonically maps keys to buckets, and each bucket is a heap.

**Trees

A tree is non-linear and a hierarchical data structure consisting of a collection of nodes such that each node of the tree stores a value, a list of references to nodes (the “children”) :

**Graph

A Graph is a non-linear data structure consisting of nodes and edges. The nodes are sometimes also referred to as vertices and the edges are lines or arcs that connect any two nodes in the graph.

**Dynamic Programming:

Dynamic Programming is mainly an optimization over plain recursion. Wherever we see a recursive solution that has repeated calls for same inputs, we can optimize it using Dynamic Programming.

**Projects

**System Design

**Behavioral Skills

**Read Also: