Filter interviews by
I applied via Referral and was interviewed in Oct 2023. There was 1 interview round.
JDK is a development kit, JRE is a runtime environment, and JVM is a virtual machine that executes Java bytecode.
JDK (Java Development Kit) is a software development kit used to develop Java applications.
JRE (Java Runtime Environment) is a software package that provides the libraries and components necessary for running Java applications.
JVM (Java Virtual Machine) is an abstract machine that provides the runtime enviro...
JVM GC manages memory by reclaiming unused objects, improving performance.
JVM GC stands for Java Virtual Machine Garbage Collection
It automatically manages memory by reclaiming unused objects
Different types of GC algorithms like Serial, Parallel, CMS, G1 are available
GC can cause pauses in application execution, affecting performance
Generics in Kotlin allow you to write flexible and reusable code by defining classes, functions, and interfaces with type parameters.
Generics in Kotlin are defined using angle brackets <> after the class name or function name.
You can specify the type parameter when creating an instance of a generic class or calling a generic function.
Generics help in writing type-safe code and avoid the need for casting.
Example: List
Partition in Spark is a way to divide data into smaller chunks for parallel processing.
Partitions are basic units of parallelism in Spark
Data in RDDs are divided into partitions which are processed in parallel
Number of partitions can be controlled using repartition() or coalesce() methods
Bucketing is a way of organizing data files into multiple files based on a hash function, while partitioning is dividing data into different directories based on the column values.
Bucketing is used for evenly distributing data across files for better query performance.
Partitioning is used for organizing data based on specific column values for easier data retrieval.
Example: Bucketing can be used to evenly distribute sa...
Hive tables are used to store structured data in Hive, similar to tables in a traditional database.
Hive tables are created using the CREATE TABLE statement.
Tables can be partitioned based on one or more columns.
External tables in Hive store data outside of the default location in HDFS.
Managed tables store data in the default location in HDFS.
Tables can be queried using SQL-like syntax in HiveQL.
Types of read mode in Spark include permissive, dropMalformed, and failFast.
Permissive mode - ignores corrupted records and loads all possible data
DropMalformed mode - drops corrupted records during reading
FailFast mode - fails immediately upon encountering corrupted records
I applied via Company Website and was interviewed in Oct 2020. There were 3 interview rounds.
Recursion is a process in which a function calls itself. Inheritance is a mechanism in OOP where a class inherits properties of another class. Heap is a region of memory used for dynamic memory allocation.
Recursion can be used to solve problems that can be broken down into smaller sub-problems.
Inheritance allows for code reuse and helps in creating a hierarchy of classes.
Heap is used for dynamic memory allocation in la...
There are three types of machine learning: supervised, unsupervised, and reinforcement learning.
Supervised learning involves labeled data and predicting outcomes based on that data.
Unsupervised learning involves finding patterns in unlabeled data.
Reinforcement learning involves an agent learning to make decisions based on rewards and punishments.
Examples of supervised learning include image classification and spam filt...
OOPs stands for Object-Oriented Programming. It is a programming paradigm that uses objects to design applications.
OOPs is based on the concept of classes and objects
It focuses on encapsulation, inheritance, and polymorphism
It helps in creating modular, reusable, and maintainable code
Examples of OOPs languages are Java, C++, Python, etc.
SDLC stands for Software Development Life Cycle, a process used to design, develop, and maintain software.
SDLC is a structured approach to software development
It involves several phases such as planning, analysis, design, implementation, testing, and maintenance
Each phase has its own set of activities and deliverables
SDLC helps ensure that software is developed efficiently, on time, and within budget
Examples of SDLC mo
I applied via Company Website and was interviewed before Dec 2020. There were 4 interview rounds.
I applied via Referral and was interviewed before Mar 2021. There were 2 interview rounds.
I was interviewed before Dec 2020.
Round duration - 60 Minutes
Round difficulty - Medium
This round consisted of questions from DS/Algo , OOPS and Operating Systems primarily usage of some basic UNIX commands .
You are given a continuous stream of numbers, and the task is to determine the kth largest number at any moment during the stream.
A specialized data st...
Design a data structure to find the kth largest number in a continuous stream of integers.
Design a specialized data structure to handle an indefinite number of integers from the stream.
Implement 'add(DATA)' to incorporate integers into the stream's pool.
Implement 'getKthLargest()' to retrieve the kth largest number from the pool.
Maintain the pool of numbers and return the kth largest number for each query.
Ensure effici
An interface in software engineering is a contract that defines the methods that a class must implement.
Defines a set of methods that a class must implement
Provides a way to achieve abstraction and multiple inheritance
Helps in achieving loose coupling between classes
SOLID principles are a set of five design principles in object-oriented programming to make software designs more understandable, flexible, and maintainable.
S - Single Responsibility Principle: A class should have only one reason to change.
O - Open/Closed Principle: Software entities should be open for extension but closed for modification.
L - Liskov Substitution Principle: Objects of a superclass should be replaceable...
Piping in Unix/Linux allows the output of one command to be used as the input for another command.
Piping is done using the '|' symbol
It helps in connecting multiple commands together to perform complex operations
Example: ls -l | grep 'txt' - This command lists all files in long format and then filters for files with 'txt' in their name
Round duration - 60 Minutes
Round difficulty - Medium
This round had questions revolving around OS , Selenium and some common concepts from DBMS. The interviewer was quite experienced and made the whole interview quite wholesome for me.
Essential UNIX commands include ls, cd, pwd, mkdir, and rm.
ls - list directory contents
cd - change directory
pwd - print working directory
mkdir - make directory
rm - remove files or directories
To enable Actuator in a Spring Boot application, you need to include the Actuator dependency in your pom.xml file and configure it in the application.properties file.
Include Actuator dependency in pom.xml file
Configure Actuator endpoints in application.properties file
Access Actuator endpoints to monitor and manage the application
Dependency injection is a design pattern in which components are given their dependencies rather than creating them internally.
Allows for easier testing by providing mock dependencies
Promotes loose coupling between components
Improves code reusability and maintainability
Examples: Constructor injection, Setter injection, Interface injection
Self-Join is when a table is joined with itself, while Cross-Join is when every row from one table is combined with every row from another table.
Self-Join is used to combine rows with other rows in the same table.
Cross-Join generates a Cartesian product of the two tables involved.
Self-Join is typically used to compare rows within the same table, like in hierarchical structures.
Cross-Join is used when there is no common
Views in SQL are virtual tables that are generated based on the result set of a SELECT query.
Views are saved SELECT queries that can be treated as tables.
They can simplify complex queries by storing them as a view.
Views do not store data themselves, but display data from the underlying tables.
They can be used to restrict access to specific columns or rows of a table.
Views can be used for data abstraction and security p
Round duration - 30 Minutes
Round difficulty - Easy
This is a cultural fitment testing round .HR was very frank and asked standard questions. Then we discussed about my role.
Tip 1 : Must do Previously asked Interview as well as Online Test Questions.
Tip 2 : Go through all the previous interview experiences from Codestudio and Leetcode.
Tip 3 : Do at-least 2 good projects and you must know every bit of them.
Tip 1 : Have at-least 2 good projects explained in short with all important points covered.
Tip 2 : Every skill must be mentioned.
Tip 3 : Focus on skills, projects and experiences more.
based on 2 interviews
Interview experience
TCS
Accenture
Wipro
Cognizant