← Interview experiences
Got the offer

Software 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. 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-&gt;val == mode) {
            freeTree(node);
            return nullptr;
        }
        swap(node-&gt;left, node-&gt;right);
        node-&gt;val = 1.0 / node-&gt;val; // here he asked to add check of non-zero division
        node-&gt;left = transform(node-&gt;left, mode);
        node-&gt;right = transform(node-&gt;right, mode);
        return node;
    }
    
    void freeTree(TreeNode* node) {
        if (!node) return;
        freeTree(node-&gt;left);
        freeTree(node-&gt;right);
        delete node;
    }
    

    }; Follow up was asked how to implement the swap function of two numbers

What came up

MediumRemote0 1 years

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

Get 5x interviews

10 free auto-applies. No card.

Or practice this interview first