i
Tech Mahindra
Filter interviews by
I applied via Company Website and was interviewed in Dec 2024. There was 1 interview round.
Asked mostly on grpc.
Couple of coding questions like write the protobuf file for interfaces and gave a string from which asked to find out the valid IP address in that string.
I applied via Naukri.com and was interviewed in Sep 2024. There was 1 interview round.
Use regex pattern to extract IP addresses from a string.
Use the regex pattern '\b(?:\d{1,3}\.){3}\d{1,3}\b' to match IP addresses.
Make sure to escape special characters like '.' and '\' in the regex pattern.
Use tools like regex101.com to test and refine your regex pattern.
Example: '192.168.1.1' will be matched by the regex pattern.
I applied via Naukri.com and was interviewed in Oct 2024. There was 1 interview round.
gRPC is a high-performance, open-source RPC framework developed by Google.
gRPC stands for Google Remote Procedure Call.
It uses HTTP/2 for transport, Protocol Buffers for serialization, and supports multiple programming languages.
gRPC is commonly used for building efficient and scalable microservices.
It allows for bidirectional streaming and authentication features.
Examples of companies using gRPC include Google, Netfli
Concurrency is the ability of a program to execute multiple tasks simultaneously. Race condition occurs when multiple threads access shared data and try to change it at the same time.
Concurrency allows multiple tasks to run in parallel, improving performance and efficiency.
Race condition happens when multiple threads access and modify shared data without proper synchronization.
To prevent race conditions, synchronizatio...
I applied via Approached by Company and was interviewed in Oct 2024. There was 1 interview round.
Golang Basics, DBMS, Channels, Unit Test
1) Search an array element
2) braces balance program
3) anagrams Program
A map is a built-in data structure in Golang that allows you to store key-value pairs.
Maps are unordered collections of key-value pairs.
Keys in a map must be unique.
Maps are useful for efficient lookup and retrieval of values based on their keys.
You can add, update, and delete key-value pairs in a map.
Example: map[string]int{"apple": 5, "banana": 3}
A slice is a dynamically-sized, flexible view of an underlying array in Go.
Slices are similar to arrays but with a variable length.
They are reference types and can be resized.
Slices can be created using the make() function or by slicing an existing array.
They provide a convenient way to work with collections of data.
Arrays have fixed length, while slices are dynamic. Slices are references to arrays.
Arrays have a fixed length, while slices can grow or shrink dynamically.
Slices are references to arrays, allowing for efficient memory usage.
Arrays are value types, while slices are reference types.
Arrays are initialized with a specific size, while slices can be created from existing arrays or other slices.
Slices provide additional func
Go routines are lightweight threads of execution that allow concurrent programming in Go.
Go routines are created using the 'go' keyword followed by a function call.
They are executed concurrently and independently of the main program.
Go routines communicate with each other using channels.
They are used to achieve concurrency and parallelism in Go programs.
Channels are used in Go to enable communication and synchronization between goroutines.
Channels are typed and can only send or receive values of that type.
They can be created using the built-in make() function.
The <- operator is used to send and receive values from channels.
Channels can be used to implement various synchronization patterns like blocking and non-blocking operations.
They are commonly used for concurrent
I applied via Recruitment Consulltant and was interviewed in Apr 2024. There was 1 interview round.
Ask to write a program for find prime number of n numbers using gorountines
I applied via Recruitment Consulltant and was interviewed before Oct 2023. There were 2 interview rounds.
Golang interview technical task
How you have worked in previous company
I applied via Naukri.com and was interviewed in Jan 2023. There were 3 interview rounds.
Goroutines are lightweight threads of execution in Go that allow for concurrent programming.
Goroutines are created using the 'go' keyword followed by a function call.
Concurrency is the ability to run multiple tasks simultaneously, while parallelism is the ability to run multiple tasks at the same time.
Goroutines can communicate with each other using channels.
Example: go func() { fmt.Println('Hello, world!') }()
Example:
Channels are a way for goroutines to communicate. Buffered channels have a capacity while unbuffered channels do not.
Unbuffered channels block until a sender and receiver are ready to communicate
Buffered channels allow for asynchronous communication up to a certain capacity
Channels are typed, meaning they can only send and receive values of a specific type
Array is a fixed-size collection of elements of the same type. Slice is a dynamic-size sequence of elements of the same type.
Arrays have a fixed size and are declared using square brackets, e.g. var arr [5]int
Slices are dynamic and are declared using the make() function, e.g. var s []int = make([]int, 5)
Slices can also be created using a slice literal, e.g. s := []int{1, 2, 3}
I have worked on various projects, including a web application for managing employee data.
I follow the Arrange-Act-Assert pattern for unit testing
I use testing frameworks like GoConvey and testify
I write test cases for both positive and negative scenarios
I use mocks and stubs to isolate dependencies
I aim for high code coverage to ensure thorough testing
Microservices are small, independent services while monolithic is a single, large application.
Microservices are loosely coupled and can be developed and deployed independently.
Monolithic applications are tightly coupled and require a complete redeployment for any changes.
Microservices allow for better scalability and fault tolerance.
Monolithic applications are easier to develop and test.
Examples of microservices includ...
Singleton is a creational design pattern that ensures a class has only one instance and provides a global point of access to it.
Singleton pattern restricts the instantiation of a class to one object.
It is useful when exactly one object is needed to coordinate actions across the system.
Singleton pattern can be implemented using lazy initialization or eager initialization.
Example: Database connection, Logger, Configurati...
Software Engineer
26.4k
salaries
| ₹2 L/yr - ₹9 L/yr |
Senior Software Engineer
21.3k
salaries
| ₹5.5 L/yr - ₹23 L/yr |
Technical Lead
11.6k
salaries
| ₹9.2 L/yr - ₹37 L/yr |
Associate Software Engineer
5.5k
salaries
| ₹1.8 L/yr - ₹6 L/yr |
Team Lead
4.9k
salaries
| ₹5.2 L/yr - ₹17 L/yr |
Infosys
Cognizant
Accenture
Wipro