Filter interviews by
Synchronizing thread blocks is important for efficient and correct execution of parallel programs.
Thread blocks must be synchronized to avoid race conditions and ensure correct program output.
Synchronization can be achieved using locks, semaphores, or barriers.
Examples of synchronization include ensuring that shared resources are accessed by only one thread at a time, or that threads wait for each other before pro...
Functors are objects that can be treated as functions in C++. They are used for generic programming and can be passed as arguments.
Functors are often used in algorithms that require a function object as a parameter.
They can be used to implement callbacks and event handlers.
Functors can be used to create custom comparators for sorting algorithms.
They can also be used to implement function objects for mathematical o...
C++ has four types of casts: static_cast, dynamic_cast, const_cast, and reinterpret_cast.
static_cast is used for implicit conversions between related types
dynamic_cast is used for runtime type checking and casting of polymorphic types
const_cast is used to remove const or volatile qualifiers from a variable
reinterpret_cast is used for low-level casting between unrelated types
Examples: static_cast
Dynamic polymorphism is the ability of an object to take on multiple forms during runtime.
It allows objects of different classes to be treated as if they are of the same class.
It is achieved through virtual functions and inheritance.
Examples include function overriding and templates in C++.
Move constructors enable efficient resource transfer from rvalues, avoiding unnecessary copies and improving performance.
A move constructor takes an rvalue reference as a parameter, e.g., `MyClass(MyClass&& other)`. This allows transferring resources.
Using `std::move`, you can cast an lvalue to an rvalue, enabling move semantics, e.g., `std::vector<int> v2 = std::move(v1);`.
Move constructors should '...
map and unordered_map are associative containers while vector and list are sequence containers.
map and unordered_map are used to store key-value pairs while vector and list are used to store sequences of elements.
map and unordered_map provide faster search and insertion of elements while vector and list provide faster insertion and deletion of elements.
map and unordered_map use red-black trees and hash tables resp...
IPC mechanisms in Linux are used for inter-process communication between processes running on the same system.
IPC mechanisms include pipes, message queues, shared memory, and semaphores.
Pipes are used for one-way communication between two processes.
Message queues allow for asynchronous communication between processes.
Shared memory allows multiple processes to access the same memory space.
Semaphores are used for sy...
I appeared for an interview in Apr 2023.
I applied via Naukri.com and was interviewed in Apr 2022. There were 2 interview rounds.
Dynamic polymorphism is the ability of an object to take on multiple forms during runtime.
It allows objects of different classes to be treated as if they are of the same class.
It is achieved through virtual functions and inheritance.
Examples include function overriding and templates in C++.
C++ has four types of casts: static_cast, dynamic_cast, const_cast, and reinterpret_cast.
static_cast is used for implicit conversions between related types
dynamic_cast is used for runtime type checking and casting of polymorphic types
const_cast is used to remove const or volatile qualifiers from a variable
reinterpret_cast is used for low-level casting between unrelated types
Examples: static_cast
IPC mechanisms in Linux are used for inter-process communication between processes running on the same system.
IPC mechanisms include pipes, message queues, shared memory, and semaphores.
Pipes are used for one-way communication between two processes.
Message queues allow for asynchronous communication between processes.
Shared memory allows multiple processes to access the same memory space.
Semaphores are used for synchro...
map and unordered_map are associative containers while vector and list are sequence containers.
map and unordered_map are used to store key-value pairs while vector and list are used to store sequences of elements.
map and unordered_map provide faster search and insertion of elements while vector and list provide faster insertion and deletion of elements.
map and unordered_map use red-black trees and hash tables respectiv...
Functors are objects that can be treated as functions in C++. They are used for generic programming and can be passed as arguments.
Functors are often used in algorithms that require a function object as a parameter.
They can be used to implement callbacks and event handlers.
Functors can be used to create custom comparators for sorting algorithms.
They can also be used to implement function objects for mathematical operat...
Move constructors enable efficient resource transfer from rvalues, avoiding unnecessary copies and improving performance.
A move constructor takes an rvalue reference as a parameter, e.g., `MyClass(MyClass&& other)`. This allows transferring resources.
Using `std::move`, you can cast an lvalue to an rvalue, enabling move semantics, e.g., `std::vector<int> v2 = std::move(v1);`.
Move constructors should 'steal...
Synchronizing thread blocks is important for efficient and correct execution of parallel programs.
Thread blocks must be synchronized to avoid race conditions and ensure correct program output.
Synchronization can be achieved using locks, semaphores, or barriers.
Examples of synchronization include ensuring that shared resources are accessed by only one thread at a time, or that threads wait for each other before proceedi...
Top trending discussions
I applied via Walk-in and was interviewed before Aug 2020. There was 1 interview round.
I applied via Walk-in and was interviewed before Dec 2019. There were 4 interview rounds.
I applied via Job Portal
I applied via Apna Jobs and was interviewed in Mar 2022. There were 3 interview rounds.
A Senior Engineer oversees project development, leads teams, and ensures technical excellence while mentoring junior engineers.
Project Leadership: Responsible for leading engineering projects from conception to deployment, ensuring timelines and quality standards are met.
Technical Guidance: Provide expert advice on best practices and technologies, such as recommending the use of microservices architecture for scalabili...
I will immediately investigate the cause of the NG lot and work with the team to find a solution to make it usable.
Investigate the cause of the NG lot
Work with the team to find a solution
Prioritize urgent use of the lot
Ensure quality control measures are in place
Communicate with stakeholders about the situation
I seek new challenges and opportunities for growth, both professionally and personally, in a different environment.
Career Advancement: I'm looking for a role that offers more opportunities for leadership and innovation, such as leading a team on complex projects.
New Challenges: I want to work on diverse projects that push my technical skills further, like developing scalable applications in a cloud environment.
Cultural...
Basic computer knowledge includes understanding hardware, software, networks, and data management principles.
Hardware: Physical components like CPU, RAM, and hard drives. Example: A laptop's processor is its CPU.
Software: Programs that run on computers, such as operating systems (Windows, macOS) and applications (Word, Excel).
Networking: Understanding how computers connect and communicate, including concepts like IP ad...
based on 1 interview experience
Difficulty level
Duration
based on 5 reviews
Rating in categories
Staff Engineer
321
salaries
| ₹25 L/yr - ₹40 L/yr |
Principal Engineer
204
salaries
| ₹35 L/yr - ₹56.5 L/yr |
Senior Engineer
143
salaries
| ₹15.8 L/yr - ₹25 L/yr |
Test Engineer
133
salaries
| ₹3 L/yr - ₹8 L/yr |
Senior Software Engineer
77
salaries
| ₹15.8 L/yr - ₹25 L/yr |
vivo
OPPO
Dell
LG Electronics