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

blueoptima logo
blueoptima
· software engineer· bangalore, india· Offer
August 24, 2021 · 55 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)

1.

Escape from Grid

Data Structures & Algorithms

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

2.

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.

3.

Inheritance vs. Polymorphism

Other

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

4.

Types of Polymorphism

Other

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

5.

Overloading vs. Overriding

Other

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

6.

Ternary Operator Usage

Other

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

7.

Database Indexing

Other

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

8.

DDL vs DML

Other

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

9.

Normalization vs Denormalization

Other

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

10.

Database Sharding

Other

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

11.

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.

12.

Stacks vs. Queues

Data Structures & Algorithms

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

13.

Binary Search Explanation

Data Structures & Algorithms

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

14.

Merge Sort Overview

Data Structures & Algorithms

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

15.

Recursion Concepts

Data Structures & Algorithms

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

16.

JavaScript vs. Java Comparison

Other

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

17.

Handling Multiple Inputs in a Project

System Design

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

18.

NoSQL Databases

System Design

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

19.

ACID Properties in Databases

System Design

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

20.

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.

21.

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!