Filter interviews by
Arrays are fixed-size, while vectors are dynamic and can resize during runtime.
Arrays have a fixed size, e.g., `String[] arr = new String[5];`.
Vectors can grow or shrink, e.g., `Vector<String> vec = new Vector<>();`.
Arrays are more memory efficient for a known size, while vectors offer flexibility.
Accessing elements in both is O(1), but vectors may have overhead due to resizing.
Implementing a binary tree involves defining the structure, creating nodes, and establishing relationships between them.
Define a Node class with properties for value, left child, and right child.
Create a BinaryTree class to manage the root node and tree operations.
Implement methods for insertion, deletion, and traversal (in-order, pre-order, post-order).
Example of a Node class in Python: class Node: def __init__(s...
Packing and padding optimize memory usage and alignment in data structures, affecting performance and data access.
Packing refers to the process of minimizing memory usage by removing unnecessary padding between data fields.
Padding is the addition of extra bytes to align data structures in memory, improving access speed.
For example, in a struct with a char (1 byte) and an int (4 bytes), padding may add 3 bytes afte...
A heap is a data structure, while a priority queue is an abstract data type that often uses a heap for implementation.
A heap is a binary tree-based structure that maintains a specific order (min-heap or max-heap).
A priority queue is an abstract data type that allows elements to be processed based on priority rather than just order of insertion.
Heaps can be implemented using arrays, where the parent-child relations...
Implementing a vector involves creating a dynamic array that can resize and manage its own memory.
Use an array to store elements, e.g., `int* data;`.
Implement methods for adding elements, e.g., `push_back(int value)`.
Handle resizing when capacity is reached, e.g., double the size.
Implement access methods, e.g., `int get(int index)`.
Include a destructor to free memory, e.g., `~Vector() { delete[] data; }`.
This program demonstrates writing and reading object data in binary format using type casting in Java.
Define a class with serializable fields, e.g., 'Person' with 'name' and 'age'.
Use ObjectOutputStream to write the object to a file in binary format.
Type cast the object to OutputStream for writing.
Use ObjectInputStream to read the object back from the file.
Example: 'Person p = new Person("John", 30);' and write it...
Reversing a linked list involves changing the direction of its nodes to point backward instead of forward.
Iterate through the list while maintaining three pointers: previous, current, and next.
Set the current node's next pointer to the previous node.
Move the previous and current pointers one step forward.
Repeat until the end of the list is reached.
Example: For list 1 -> 2 -> 3, the reversed list will be 3 -&...
Reset is a signal used to initialize the system or a specific module.
Reset is used to bring the system or module to a known state.
It is an asynchronous signal that overrides all other signals.
There are different types of resets such as power-on reset, soft reset, hard reset, etc.
Reset can be active high or active low depending on the design.
Reset can be generated internally or externally.
Reset can be used to clear...
Blocking and non-blocking are two types of assignments in Verilog that differ in their execution order and timing.
Blocking assignments execute in a sequential order and the next statement waits for the current statement to complete before executing.
Non-blocking assignments execute concurrently and the next statement does not wait for the current statement to complete before executing.
Blocking assignments are used ...
Task and function are both subprograms in Verilog/SystemVerilog, but task is used for procedural blocks and function is used for expressions.
Task is used for procedural blocks and can contain delays and event control statements.
Function is used for expressions and cannot contain delays or event control statements.
Functions can return a value, while tasks cannot.
Functions can be called from within tasks or other fu...
Reset is a signal used to initialize the system or a specific module.
Reset is used to bring the system or module to a known state.
It is an asynchronous signal that overrides all other signals.
There are different types of resets such as power-on reset, soft reset, hard reset, etc.
Reset can be active high or active low depending on the design.
Reset can be generated internally or externally.
Reset can be used to clear regi...
RAM and FIFO are essential components in FPGA design. Here's how to write code for them.
For RAM, define the memory size and data width, then instantiate the memory module and write/read data using the address bus and data bus.
For FIFO, define the depth and data width, then instantiate the FIFO module and write/read data using the write and read pointers.
Use synchronous or asynchronous reset signals to initialize the RA...
Code for read and write file
Use fopen() function to open a file
Use fprintf() function to write to a file
Use fscanf() function to read from a file
Close the file using fclose() function
I appeared for an interview before Apr 2024, where I was asked the following questions.
Arrays are fixed-size, while vectors are dynamic and can resize during runtime.
Arrays have a fixed size, e.g., `String[] arr = new String[5];`.
Vectors can grow or shrink, e.g., `Vector<String> vec = new Vector<>();`.
Arrays are more memory efficient for a known size, while vectors offer flexibility.
Accessing elements in both is O(1), but vectors may have overhead due to resizing.
Implementing a vector involves creating a dynamic array that can resize and manage its own memory.
Use an array to store elements, e.g., `int* data;`.
Implement methods for adding elements, e.g., `push_back(int value)`.
Handle resizing when capacity is reached, e.g., double the size.
Implement access methods, e.g., `int get(int index)`.
Include a destructor to free memory, e.g., `~Vector() { delete[] data; }`.
Implementing a binary tree involves defining the structure, creating nodes, and establishing relationships between them.
Define a Node class with properties for value, left child, and right child.
Create a BinaryTree class to manage the root node and tree operations.
Implement methods for insertion, deletion, and traversal (in-order, pre-order, post-order).
Example of a Node class in Python: class Node: def __init__(self, ...
A heap is a data structure, while a priority queue is an abstract data type that often uses a heap for implementation.
A heap is a binary tree-based structure that maintains a specific order (min-heap or max-heap).
A priority queue is an abstract data type that allows elements to be processed based on priority rather than just order of insertion.
Heaps can be implemented using arrays, where the parent-child relationship i...
This program demonstrates writing and reading object data in binary format using type casting in Java.
Define a class with serializable fields, e.g., 'Person' with 'name' and 'age'.
Use ObjectOutputStream to write the object to a file in binary format.
Type cast the object to OutputStream for writing.
Use ObjectInputStream to read the object back from the file.
Example: 'Person p = new Person("John", 30);' and write it usin...
Reversing a linked list involves changing the direction of its nodes to point backward instead of forward.
Iterate through the list while maintaining three pointers: previous, current, and next.
Set the current node's next pointer to the previous node.
Move the previous and current pointers one step forward.
Repeat until the end of the list is reached.
Example: For list 1 -> 2 -> 3, the reversed list will be 3 -> 2...
Packing and padding optimize memory usage and alignment in data structures, affecting performance and data access.
Packing refers to the process of minimizing memory usage by removing unnecessary padding between data fields.
Padding is the addition of extra bytes to align data structures in memory, improving access speed.
For example, in a struct with a char (1 byte) and an int (4 bytes), padding may add 3 bytes after the...
I applied via LinkedIn and was interviewed before Jun 2022. There were 3 interview rounds.
Write a code to find the angle between hour and minute hand at a given point of time
Top trending discussions
I applied via Walk-in and was interviewed before May 2020. There was 1 interview round.
I applied via Naukri.com and was interviewed before Jul 2020. There were 3 interview rounds.
Performa is a performance monitoring tool for HPE 3PAR storage arrays.
Performa provides real-time monitoring of storage performance metrics.
It helps identify performance bottlenecks and optimize storage performance.
Performa can generate reports and alerts based on user-defined thresholds.
It can also be used for capacity planning and trend analysis.
Examples of performance metrics monitored by Performa include IOPS, late...
I applied via Campus Placement and was interviewed before Jan 2021. There was 1 interview round.
I applied via Campus Placement and was interviewed in Mar 2020. There were 4 interview rounds.
I applied via Walk-in and was interviewed before Oct 2019. There were 5 interview rounds.
TCS is a leading global IT services, consulting, and business solutions organization headquartered in India.
Founded in 1968, TCS is part of the Tata Group, one of India's largest conglomerates.
It operates in over 46 countries, providing services in various sectors like banking, healthcare, and retail.
TCS is known for its strong focus on innovation, investing heavily in research and development.
The company has a diverse...
Successfully led a cross-functional team to implement a data analytics solution that improved decision-making processes by 30%.
Identified key business requirements through stakeholder interviews, ensuring alignment with organizational goals.
Developed a comprehensive data model that streamlined reporting processes, reducing report generation time by 50%.
Facilitated workshops to train team members on new analytics tools,...
I tend to be overly detail-oriented, which can slow down my decision-making process at times.
I often spend extra time ensuring every detail is perfect, which can delay project timelines.
For example, during a recent project, I focused too much on data accuracy, causing a delay in the final report.
To mitigate this, I've started setting strict time limits for each task to maintain efficiency.
I also seek feedback from coll...
I envision a long-term career with your company, contributing to its growth and success while advancing my own skills and expertise.
I aim to grow within the company, taking on new challenges and responsibilities over time.
For example, I see myself progressing from a Business Analyst to a Senior Analyst or even a managerial role.
I value stability and loyalty, and I believe that a long tenure allows for deeper understand...
I bring analytical skills, industry knowledge, and a collaborative spirit to drive data-driven decisions and enhance business performance.
Proven track record in data analysis: In my previous role, I improved reporting efficiency by 30% through automation.
Strong communication skills: I effectively liaised between technical teams and stakeholders, ensuring project alignment and clarity.
Industry knowledge: My experience i...
I want to join TCS for its innovative projects, diverse opportunities, and commitment to employee growth and development.
TCS is a leader in technology and consulting, providing a platform to work on cutting-edge projects.
The company's emphasis on continuous learning aligns with my career goals; for instance, TCS offers various training programs.
TCS's global presence allows for exposure to diverse cultures and practices...
I applied via Naukri.com and was interviewed before Sep 2020. There were 4 interview rounds.
based on 2 interview experiences
Difficulty level
Duration
based on 7 reviews
Rating in categories
Programmer Analyst
13
salaries
| ₹2.4 L/yr - ₹6 L/yr |
Linux Administrator
5
salaries
| ₹1.3 L/yr - ₹3.5 L/yr |
Team Lead
5
salaries
| ₹7.4 L/yr - ₹32.4 L/yr |
Software Engineer
4
salaries
| ₹4 L/yr - ₹7.7 L/yr |
Software Developer
4
salaries
| ₹3.3 L/yr - ₹6 L/yr |