i
Choice Techlab
Filter interviews by
I applied via LinkedIn and was interviewed in Sep 2024. There were 2 interview rounds.
Go supports object-oriented programming principles through struct types and methods.
Go uses struct types to define objects with fields and methods.
Methods can be defined on struct types to provide behavior to objects.
Go does not have classes like traditional OOP languages, but it supports encapsulation, inheritance, and polymorphism through struct embedding and interfaces.
Arrays are fixed-size collections of elements of the same type, while slices are dynamic arrays with a flexible size.
Arrays have a fixed size determined at compile time.
Slices are dynamic arrays that can grow or shrink.
Arrays and slices are both zero-indexed.
Arrays are passed by value, while slices are passed by reference.
Example: var arr [3]string = [3]string{"apple", "banana", "orange"}
Example: var slice []string = [
Goroutines are lightweight threads managed by Go runtime, allowing concurrent execution of functions.
Goroutines are created using the 'go' keyword followed by a function call.
They are multiplexed onto multiple OS threads by the Go runtime.
Goroutines communicate using channels to share data safely.
They are more efficient than traditional threads due to their lightweight nature.
Go is simpler, more efficient, and easier to learn compared to C++.
Go has a simpler syntax and is easier to read and write compared to C++.
Go has built-in concurrency support with goroutines and channels, making it easier to write concurrent programs.
Go has a garbage collector, which simplifies memory management compared to manual memory management in C++.
Go compiles faster than C++ due to its simpler type system and l...
Efficiently process large amounts of data by using parallel processing, optimizing algorithms, and utilizing data structures.
Utilize parallel processing techniques such as goroutines in Golang to process data concurrently.
Optimize algorithms to reduce time complexity and improve processing speed.
Use efficient data structures like maps, slices, and channels to store and manipulate data.
Consider using caching mechanisms ...
Assignment to make a employee data management software and enter lakhs of employeee data efficiently.
Practical application developmemt
I applied via Recruitment Consulltant and was interviewed in Sep 2024. There was 1 interview round.
I applied via Naukri.com and was interviewed in Jan 2023. There were 2 interview rounds.
Life cycle hooks are functions that get called at specific stages of a component's life cycle.
Angular provides several life cycle hooks that allow you to tap into specific moments in a component's life cycle.
Some common life cycle hooks include ngOnInit, ngOnChanges, and ngOnDestroy.
ngOnInit is called after the component has been initialized and its inputs have been bound.
ngOnChanges is called whenever one or more of t...
Routing in Angular is the process of navigating between different components and views based on the URL.
Routing is defined in the app-routing.module.ts file
Routes are defined using the RouterModule.forRoot() method
Each route maps a URL path to a component
RouterLink directive is used to navigate between routes in HTML
Router.navigate() method is used to navigate programmatically
Child routes can be defined for nested comp
Choice Techlab interview questions for popular designations
I applied via Indeed and was interviewed before Oct 2021. There were 4 interview rounds.
Basic Logical Reasoning Questions
2 tasks will be given for 3 hrs. 2nd task might take longer time.
Top trending discussions
I applied via Naukri.com and was interviewed in Mar 2021. There was 1 interview round.
Goroutines are lightweight threads of execution in Go.
Goroutines are functions that can run concurrently with other functions.
They are cheap to create and can be used to handle multiple tasks simultaneously.
They communicate with each other using channels.
Goroutines are managed by the Go runtime and can be scheduled on multiple processors.
Example: go func() { fmt.Println("Hello, world!") }()
Example: go func() { result :...
I appeared for an interview before Mar 2021.
Round duration - 75 minutes
Round difficulty - Medium
This was an online coding round where we had 2 questions to solve under 75 minutes. I found both the questions to be of Easy to Medium level of difficulty.
You are given several sets of points on a 2D plane, each set represented as a list of coordinates. Your task is to determine if there exists a line parallel to the Y-axis...
The task is to determine if there exists a line parallel to the Y-axis that reflects given points symmetrically.
Iterate through each test case and check if a vertical reflection line exists for the given points
Calculate the midpoint of the x-coordinates and check if it reflects the points symmetrically
Consider edge cases where points are on the reflection line or have the same x-coordinate
You are provided with a 2-dimensional matrix having N
rows and M
columns, containing only 1s (land) and 0s (water). Your goal is to determine the number of islands in t...
Count the number of islands in a 2D matrix of 1s and 0s.
Iterate through the matrix and perform depth-first search (DFS) to find connected 1s.
Mark visited cells to avoid redundant traversal.
Increment island count whenever a new island is encountered.
Round duration - 60 minutes
Round difficulty - Medium
This round had 2 coding questions followed by some questions from DBMS.
You are given an array/list HEIGHTS
of length N
, where each element represents the height of a histogram bar. The width of each bar is considered to be 1.
Find the area of the largest rectangle that can be formed within the bounds of a given histogram.
Iterate through the histogram bars and calculate the area of the largest rectangle that can be formed using each bar as the height.
Use a stack to keep track of the indices of the bars in non-decreasing order of height.
Pop elements from the stack and calculate the area until a smaller height bar is encountered.
Update the max...
Given a string 'STR' consisting solely of the characters “{”, “}”, “(”, “)”, “[” and “]”, determine if the parentheses are balanced.
The first line contains an...
The task is to determine if a given string consisting of parentheses is balanced or not.
Iterate through the characters of the string and use a stack to keep track of opening parentheses.
If an opening parenthesis is encountered, push it onto the stack.
If a closing parenthesis is encountered, check if it matches the top of the stack. If it does, pop the stack, else the string is not balanced.
At the end, if the stack is e...
ACID properties in DBMS ensure data integrity and consistency in transactions.
Atomicity: All operations in a transaction are completed successfully or none at all.
Consistency: Data is always in a valid state before and after a transaction.
Isolation: Transactions are isolated from each other to prevent interference.
Durability: Once a transaction is committed, changes are permanent and survive system failures.
Example: If...
Levels of data abstraction in a DBMS refer to the different views of data provided to users and applications.
Physical level: Deals with how data is stored on the storage media. Example: data blocks, pages, indexes.
Logical level: Focuses on how data is represented to users. Example: tables, views, constraints.
View level: Provides a customized view of the database for specific users or applications. Example: queries, rep
Round duration - 60 minutes
Round difficulty - Medium
Standard DS/Algo round with 2 coding questions followed by 2 interesting puzzles.
You are provided with an undirected graph containing 'N' vertices and 'M' edges. The vertices are numbered from 1 to 'N'. Your objective is to determi...
Detect if an undirected graph contains a cycle by exploring all possible paths.
Use Depth First Search (DFS) algorithm to traverse the graph and detect cycles.
Maintain a visited set to keep track of visited vertices and a parent pointer to avoid visiting the same vertex twice.
If a visited vertex is encountered that is not the parent of the current vertex, a cycle is present.
Consider edge cases like disconnected graphs a
Given a matrix ARR
with dimensions N
* M
, consisting only of 0s and 1s where each row is sorted, determine the index of the row that contains the highest number of 1s. If multi...
Find the row with the maximum number of 1s in a sorted matrix.
Iterate through each row of the matrix and count the number of 1s in each row
Keep track of the row index with the maximum number of 1s
Return the index of the row with the highest count of 1s
By lighting both wires at the same time, the shorter wire will burn out first, allowing you to measure a specific duration of time.
Light both wires at the same time
Measure the time it takes for the shorter wire to burn out completely
The remaining length of the longer wire will indicate the specific duration of time
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.
I applied via Referral and was interviewed before Jul 2021. There was 1 interview round.
based on 8 interviews
Interview experience
based on 31 reviews
Rating in categories
Associate Software Engineer
35
salaries
| ₹2 L/yr - ₹7 L/yr |
Software Engineer
21
salaries
| ₹3.2 L/yr - ₹7.6 L/yr |
Senior Software Engineer
18
salaries
| ₹5.2 L/yr - ₹16.5 L/yr |
Software Developer
7
salaries
| ₹2.8 L/yr - ₹5.2 L/yr |
QA Engineer
6
salaries
| ₹3.8 L/yr - ₹7 L/yr |
Cognizant
Sutherland Global Services
Optum Global Solutions
Hexaware Technologies