Cloudera interview experience for SDE-1 On campus hiring 2022

cloudera logo
cloudera
sde-1No Offer
March 26, 20223 reads

Summary

I completed an on-campus interview process for an SDE-1 role at Cloudera, which involved a coding test with four programming questions and two subsequent technical rounds covering data structures, algorithms, operating systems, DBMS, networking, and OOPS concepts. I managed to solve most coding problems and discussed various theoretical aspects.

Full Experience

I recently participated in the on-campus hiring drive for an SDE-1 position at Cloudera in 2022. The selection process was structured into four main steps.

Step 1: Resume-based Selection

The first stage involved a screening of resumes, which I successfully cleared to move to the next round.

Step 2: Coding Test (120 minutes on HackerRank)

This round consisted of four programming questions, where two were easy and two were of medium difficulty. All of them were standard problems:

  1. Longest Increasing Subsequence
  2. Word Compression
  3. Last Remaining Element
  4. A problem described as: "For strings and an integer k, a selection of substrings is valid if the following conditions are met: The length of every substring is greater than or equal to k. Each substring is a palindrome. No two substrings overlap. Determine the maximum number of valid substrings that can be formed from s."

I was able to solve three of these questions completely and achieved partial acceptance for the fourth one.

Step 3: Technical Interview 1

My first technical interview began with a standard introduction. The interviewer then presented two coding questions on their platform (codebunk):

  1. Program 1: We discussed the theory of how a Binary Search Tree (BST) works, followed by a coding question to check if a given binary tree is a valid BST and how an optimal solution can be implemented. This is similar to LeetCode - Validate Binary Search Tree.
  2. Program 2: This was an array-related question, essentially a Kadane's Algorithm problem focusing on its complexity, asking for the maximum subarray sum. This is similar to LeetCode - Maximum Subarray.

Following the coding problems, we moved to theoretical discussions:

  • How memory allocation works in a program, specifically static and dynamic memory allocation.
  • Deep dive into OOPS concepts, particularly the abstraction part.
  • Differences in Java String declarations, with examples like String str = "abc"; and String str = new String("abc");.

Step 4: Technical Interview 2

This interview started with the usual "Tell me about yourself" question. Afterward, we covered several theory questions:

  • Differences between Array and Linked List.
  • DBMS – ACID properties, along with real-life examples.
  • OS – Deadlock Condition, the difference between thread and process, semaphores, and Mutex.
  • Networking – HTTP requests, DNS, how TCP works, and how various processes operate in a network, among other related questions.

Finally, there was a programming question:

Library System Design: I was asked to design a library system capable of storing a maximum of 50 songs. The requirements were:

  1. If the library size is less than 50, simply add the song.
  2. If the song already exists in the library, it should be removed from its current position and moved to the top (most recently played/added).

All insertion and deletion operations were required to be performed in O(1) time complexity. I decided to use a combination of a Queue and a Hashmap for my solution to meet these requirements effectively.

Interview Questions (15)

Q1
Longest Increasing Subsequence
Data Structures & AlgorithmsMedium

Standard problem to find the length of the longest increasing subsequence in a given array.

Q2
Word Compression
Data Structures & Algorithms

Problem involving compressing words, specifics not detailed but common in coding challenges.

Q3
Last Remaining Element
Data Structures & Algorithms

Problem to find the last remaining element after a series of operations or deletions.

Q4
Maximum Valid Substrings Selection
Data Structures & AlgorithmsHard

Given a string s and an integer k, determine the maximum number of valid substrings that can be formed from s. A selection of substrings is valid if the following conditions are met:

  1. The length of every substring is greater than or equal to k.
  2. Each substring is a palindrome.
  3. No two substrings overlap.

Q5
Validate Binary Search Tree
Data Structures & AlgorithmsMedium

Theory part of BST, how it works, and then the question statement is: Check if a given binary tree is a valid BST or not and how the optimal solution can work.

Q6
Maximum Subarray Sum (Kadane's Algorithm)
Data Structures & AlgorithmsMedium

This question is array related, essentially a Kadane's Algorithm problem focusing on its complexity, asking for the maximum subarray sum.

Q7
Memory Allocation (Static vs. Dynamic)
Other

How does memory allocation work in a program (static and dynamic memory allocation)?

Q8
OOPS Concepts (Abstraction)
Other

Deep dive into OOPS concepts, particularly the abstraction part.

Q9
Java String Declaration Differences
Other

Explain the difference in Java String declaration: String str = "abc"; and String str = new String("abc");.

Q10
Tell Me About Yourself
Behavioral

Standard introductory question: 'Tell me about yourself'.

Q11
Array vs. Linked List Differences
Other

Difference between Array and Linked List.

Q12
DBMS - ACID Properties
Other

DBMS – ACID properties and give real-life examples.

Q13
OS Concepts
Other

OS – Deadlock Condition, the difference between thread and process, semaphores, Mutex.

Q14
Networking Concepts
Other

Networking – HTTP requests, DNS, how TCP works, and how various processes operate in a network, among other related questions.

Q15
Library System with O(1) Operations (LRU Cache)
Data Structures & AlgorithmsHard

Make a library system where it can store 50 songs at most. The requirements are:

  1. If the library size is less than 50, simply add the song.
  2. If the song already exists in the library, it should be removed from its current position and moved to the top (most recently played/added).
All insertion and deletion operations were required to be performed in O(1) time complexity. You can use one or more data structures.

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!