BlueOptima | Software Engineer | Bangalore | Aug 2021 [offer]

blueoptima logo
blueoptima
software engineerbangalore, indiaOffer
August 24, 20212 reads

Summary

I interviewed at BlueOptima for a Graduate Software Engineer + Internship position in August 2021 and successfully received an offer. The interview process involved an online test, a technical interview covering OOPS, SQL, and DSA, a take-home work sample, and a final discussion round.

Full Experience

I recently interviewed for the Graduate Software Engineer + Internship position at BlueOptima in Bangalore, India, in August 2021. As a new graduate from a Tier 3 college, this was a significant opportunity. My interview journey consisted of four distinct rounds.

Round 1: Online Test
This round was conducted on HackerEarth and comprised 20 technical aptitude questions, primarily focused on Java-related coding and theory, along with two challenging coding problems.

Round 2: Technical Interview
Out of 48 students, I was among those who qualified for this quick 30-minute interview. The interviewer delved into several core computer science concepts. We discussed Object-Oriented Programming (OOPS) principles like Abstraction, Inheritance, Polymorphism, and Encapsulation. Specifically, I was asked to differentiate between Inheritance and Polymorphism, explain types of polymorphism, and compare overloading versus overriding, including functions on both. A question on the ternary operator also came up. In SQL, topics covered included Indexing, DDL vs DML, Normalization vs Denormalization, Sharding, and general SQL queries. A practical scenario was posed: 'What to do when a database can handle only 100 votes but 1000 are coming from a bank?' I also had to explain my past internship experience. For Data Structures and Algorithms (DSA), the discussion revolved around Stacks vs. Queues, explaining Binary Search and its time complexity, Merge Sort (nlogn, divide and conquer), and Recursion, including the importance of base cases.

Round 3: Work Sample
This round involved a production-level problem as a work sample. I was given five days to solve, document, and submit my code. This was a collaborative effort, as teams of 2-3 people were formed for this task.

Round 4: Work Sample Discussion
Our team was called for this final round to discuss our work sample. I had to explain our approach to the problem statement and discuss potential scopes for improvement. Questions arose about our choice of JavaScript, how the project could handle multiple inputs, and a comparison between Java and JS. We also touched upon any online tools that perform similar jobs. The interviewer asked about NoSQL, what a database offers (ACID properties), why it's a web application, and what constitutes a responsive web application that works on mobile. My individual contributions were assessed, and I had the opportunity to ask questions, including if a role change was possible. More questions were posed regarding file storage. Code-related questions came up about asynchronous JavaScript, promises, setTimeout, how to fix specific issues, and the use of global arrays. Finally, the discussion covered optimization, performance, handling huge data, and extracting the right data.

Ultimately, I received an offer from BlueOptima!

Interview Questions (21)

Q1
Escape from Grid
Data Structures & Algorithms

A graph problem involving finding an escape path from a grid, typically solvable using Breadth-First Search (BFS).

Q2
Chocolate Distribution
Data Structures & Algorithms

A problem typically involving distributing chocolates among students to minimize the difference between the maximum and minimum number of chocolates received.

Q3
Inheritance vs. Polymorphism
Other

Explain the differences between Inheritance and Polymorphism in Object-Oriented Programming.

Q4
Types of Polymorphism
Other

Describe the different types of polymorphism (e.g., compile-time, runtime) and provide examples.

Q5
Overloading vs. Overriding
Other

Explain the concepts of method overloading and method overriding, highlighting their differences and use cases.

Q6
Ternary Operator Usage
Other

Explain the ternary operator and provide an example of its use.

Q7
Database Indexing
Other

Explain the concept of database indexing, its purpose, and how it improves query performance.

Q8
DDL vs DML
Other

Differentiate between Data Definition Language (DDL) and Data Manipulation Language (DML) in SQL, providing examples of commands for each.

Q9
Normalization vs Denormalization
Other

Explain the concepts of database normalization and denormalization, their advantages, disadvantages, and when to apply each.

Q10
Database Sharding
Other

Describe what database sharding is, why it's used, and its implications for distributed databases.

Q11
High-Volume Vote Handling
System Design

Scenario: A database can only handle 100 votes per second, but 1000 votes are coming from a bank. Propose a solution to handle this high volume of incoming votes.

Q12
Stacks vs. Queues
Data Structures & Algorithms

Compare and contrast Stacks and Queues data structures, explaining their operations (LIFO/FIFO) and common use cases.

Q13
Binary Search Explanation
Data Structures & Algorithms

Explain the Binary Search algorithm, its prerequisites, and analyze its time complexity.

Q14
Merge Sort Overview
Data Structures & Algorithms

Describe the Merge Sort algorithm, its divide and conquer strategy, and its time complexity (O(n log n)).

Q15
Recursion Concepts
Data Structures & Algorithms

Explain the concept of recursion, providing examples and emphasizing the importance of base cases.

Q16
JavaScript vs. Java Comparison
Other

Discuss the differences between JavaScript and Java, highlighting their use cases, strengths, and weaknesses.

Q17
Handling Multiple Inputs in a Project
System Design

Discuss strategies and considerations for designing a project to efficiently handle multiple inputs concurrently or sequentially.

Q18
NoSQL Databases
System Design

Explain what NoSQL databases are, their characteristics, and when they are preferred over relational databases.

Q19
ACID Properties in Databases
System Design

Describe the ACID properties (Atomicity, Consistency, Isolation, Durability) in the context of database transactions.

Q20
Responsive Web Applications
System Design

Explain what a responsive web application is and the techniques used to make a web app work effectively on mobile devices.

Q21
Asynchronous JavaScript Concepts
Other

Explain asynchronous JavaScript, Promises, and the setTimeout function. Discuss common issues and how to fix them, particularly regarding timing and global array usage.

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!