Got the offerSoftware Application Development Apperentice at Google
- Difficulty
- Process took
- 1-2 Weeks
- Rounds
- 1
- Format
- Remote
- Applied via
- Company Website
How it went
- Just Prepare for Data Structures and Algorithms nothing more nothing less
What they would tell you
- Just Prepare for Data Structures and Algorithms nothing more nothing less
How to prepare
- Data Structures and Algorithms
Their background
Graduated in 2025 , Looking for Software Engineer Roles
Round by round
- 1
Technical Round 145 min
I was asked a Binary Tree based Question where in a Binary Tree has all the float64 values. We had to do the following operations: a. replace node-> val with its reciprocal b. swap the left and right nodes of the tree**(not swapping values)** c. if the node-> val is the arithematic mode(i.e most repeated value in the tree) then remove its subtree and that node Contstraints all the basic constraints and nothing extra Duration of the Internship : 24 months Duration of the Interview : 45 mins Find the solution below attached. This was my code I had solved it in Time Complexity :** **O(n) (O(n) in all the functions individually) Space Complexity : O(n) (using just the map) #include <bits/stdc++.h> using namespace std;
struct TreeNode { double val; TreeNode *left; TreeNode *right; TreeNode(double x) : val(x), left(NULL), right(NULL) {} };
class Solution { public: TreeNode* twisty(TreeNode* root) { if (!root) return nullptr; unordered_map<double,int> freq; countFreq(root, freq); double mode = root->val; int maxf = 0; for (auto &p : freq) { if (p.second > maxf) { maxf = p.second; mode = p.first; } } return transform(root, mode); }
private: void countFreq(TreeNode* node, unordered_map<double,int>& freq) { if (!node) return; freq[node->val]++; countFreq(node->left, freq); countFreq(node->right, freq); }
TreeNode* transform(TreeNode* node, double mode) { if (!node) return nullptr; if (node->val == mode) { freeTree(node); return nullptr; } swap(node->left, node->right); node->val = 1.0 / node->val; // here he asked to add check of non-zero division node->left = transform(node->left, mode); node->right = transform(node->right, mode); return node; } void freeTree(TreeNode* node) { if (!node) return; freeTree(node->left); freeTree(node->right); delete node; }}; Follow up was asked how to implement the swap function of two numbers
What came up
A candidate-reported account, lightly edited. Interview processes change by team and date.
Sources
Hiring now
Google has 52 open roles right now
landed applies to roles like these for you, on each company’s own site, with answers written for the role.
Small Business Field Sales Representative
Denver, Colorado
Senior Technical Program Manager, Special Projects
Denver, Colorado; Lakewood, Colorado, United States
10 free auto-applies. No card.
Or practice this interview first