i
Synopsys
Filter interviews by
posted on 13 May 2025
I appeared for an interview in Apr 2025, where I was asked the following questions.
I have worked on various ASIC design verification projects, focusing on functional verification and performance optimization.
Led a project for a high-speed data converter, utilizing SystemVerilog and UVM for comprehensive testbench development.
Developed a verification environment for a low-power microcontroller, implementing assertions and coverage metrics to ensure design robustness.
Collaborated with cross-functional ...
FIFO (First In First Out) is a buffer design used in digital circuits for data storage and transfer.
A FIFO can be implemented using a circular buffer to efficiently manage memory.
Verilog code for a simple FIFO might include a write pointer and a read pointer.
Example: A 4-depth FIFO can be defined with an array of 4 registers.
Control signals like 'full' and 'empty' are crucial for FIFO operation.
Synchronous FIFO uses a ...
I want to work at Synopsys because of their reputation for innovation and cutting-edge technology in the field of ASIC design verification.
Synopsys is a leader in the EDA industry, known for their advanced tools and solutions for semiconductor design.
I am impressed by Synopsys' commitment to research and development, which aligns with my passion for pushing the boundaries of technology.
I believe working at Synopsys wil...
I applied via Campus Placement and was interviewed in Oct 2021. There were 3 interview rounds.
3 sections in exam
Aptitude,digital and verilog
Gate previous year will do for digital
Verilog code to divide frequency of a 100hz square wave signal with 50% duty cycle by 3.
Create a counter that counts up to 3 and resets back to 0
Use the counter to toggle an output signal every 3 cycles of the input signal
The output signal will have a frequency of 100/3 = 33.33hz with 50% duty cycle
Top trending discussions
posted on 18 Mar 2024
I applied via Campus Placement and was interviewed before Mar 2023. There was 1 interview round.
A multiplexer (mux) is a digital circuit that selects one of several input signals and forwards it to a single output. A flip-flop (ff) is a type of latch circuit that stores a single bit of data.
Mux design involves selecting one of multiple input signals based on a control signal
FF design involves storing a single bit of data using a clock signal
Mux can be implemented using logic gates like AND, OR, and NOT gates
FF ca...
Timing violations occur when a signal does not meet the required timing constraints in digital circuits.
Timing violations can lead to incorrect circuit behavior or functional failures.
Common types include setup time violations and hold time violations.
Example: A setup time violation occurs if data arrives too late before the clock edge.
Hold time violations happen when data changes too soon after the clock edge.
Static T...
posted on 12 Aug 2024
I applied via Campus Placement and was interviewed in Jul 2024. There was 1 interview round.
To predict if a 32 bit number is divisible by 8, design a circuit using gates.
Use a circuit with AND, OR, and NOT gates to check if the last three bits of the number are all zeros.
If the last three bits are zeros, then the number is divisible by 8.
For example, if the 32 bit number is 11010000, the last three bits are zeros, so it is divisible by 8.
posted on 16 Sep 2021
I appeared for an interview before Sep 2020.
Round duration - 30 minutes
Round difficulty - Easy
To search for a node in a linked list, iterate through the list and compare each node's value with the target value.
Start at the head of the linked list
Iterate through each node by following the 'next' pointer
Compare the value of each node with the target value
Return the node if found, otherwise return null
To detect a loop in a linked list, we can use Floyd's Cycle Detection Algorithm.
Initialize two pointers, slow and fast, at the head of the linked list.
Move slow pointer by one step and fast pointer by two steps.
If there is a loop, the two pointers will eventually meet.
Alternatively, we can use a hash set to store visited nodes and check for duplicates.
Implement a stack using a singly linked list
Create a Node class with data and next pointer
Create a Stack class with top pointer pointing to the top of the stack
Implement push, pop, and peek operations by manipulating the linked list
Example: Node class - Node { int data; Node next; }
Round duration - 40 minutes
Round difficulty - Easy
The top view of a binary tree shows the nodes visible from the top when looking down from the root node.
The top view of a binary tree is the set of nodes visible from the top when looking down from the root node.
Nodes at the same horizontal distance from the root are considered at the same level in the top view.
If multiple nodes are at the same horizontal distance, only the topmost node at that level is included in the...
Deleting a node from a linked list involves updating pointers to maintain the list's integrity.
Identify the node to be deleted by traversing the list
Update the previous node's next pointer to skip the node to be deleted
Free the memory allocated to the node to be deleted
Do practice a lot of questions on linked list and stacks as these are two most important data structures asked in the interview. Also, try to implement it yourself without seeing the solution. Also prepare for Computer Science subjects like Operating System, Database Management System, Computer Networks, etc. I prepared them through Coding Ninjas notes which were simpler and easy to understand.
Application resume tips for other job seekersKeep your resume short and up to mark and check spellings before submitting it for the interview process.
Final outcome of the interviewSelectedposted on 7 May 2017
I appeared for an interview in Feb 2017.
malloc is a function in C that dynamically allocates memory on the heap. It is used to allocate memory for variables or data structures.
malloc is used in C programming language.
It is used to allocate memory on the heap.
malloc is different from 'new' in C++ as it does not call constructors for objects.
C++ is a general-purpose programming language while Objective C is a superset of C used for iOS and macOS development.
C++ is widely used for developing applications, games, and system software.
Objective C is mainly used for iOS and macOS development.
C++ supports both procedural and object-oriented programming paradigms.
Objective C is an object-oriented language with dynamic runtime features.
C++ has a larger community a...
Class container is a class that holds objects of other classes, while class composition is a way to combine multiple classes to create a new class.
Class container holds objects of other classes, acting as a collection or container.
Class composition combines multiple classes to create a new class with its own behavior and attributes.
In class container, the objects are typically stored in a data structure like an array o...
Divide the horses into groups of 5 and race them. Take the top 2 from each race and race them again. Finally, race the top 2 horses to determine the top 3.
Divide the horses into 3 groups of 5 and race them.
Take the top 2 horses from each race and race them again.
Finally, race the top 2 horses to determine the top 3.
Developing a real-time data processing system for a high-traffic e-commerce website
Implemented a distributed system architecture to handle large volumes of data
Optimized algorithms for efficient data processing and storage
Utilized caching mechanisms to improve system performance
Worked closely with cross-functional teams to troubleshoot and resolve issues
Example: Successfully reduced data processing time by 50% by imple...
Seeking new challenges and opportunities for growth.
Looking for a more challenging role to further develop my skills
Interested in exploring new technologies and industries
Seeking better career advancement opportunities
Want to work in a more collaborative team environment
The width of a tree is the maximum number of nodes at any level in the tree.
To calculate the width of a tree, we can perform a level order traversal and keep track of the maximum number of nodes at any level.
We can use a queue data structure to perform the level order traversal.
At each level, we count the number of nodes in the queue and update the maximum width if necessary.
posted on 10 May 2015
Locate sum of 2 numbers in a linear array (unsorted and sorted) and their complexities
For unsorted array, use nested loops to compare each element with every other element until the sum is found
For sorted array, use two pointers approach starting from the beginning and end of the array and move them towards each other until the sum is found
Complexity for unsorted array is O(n^2) and for sorted array is O(n)
Pointers are used to manipulate memory addresses and values in C++. Increment/decrement, address of and value at operators are commonly used.
Incrementing a pointer moves it to the next memory location of the same data type
Decrementing a pointer moves it to the previous memory location of the same data type
The address of operator (&) returns the memory address of a variable
The value at operator (*) returns the value sto...
To determine if a point is inside or outside a rectangle, we check if the point's coordinates fall within the rectangle's boundaries.
Check if the point's x-coordinate is greater than the left edge of the rectangle
Check if the point's x-coordinate is less than the right edge of the rectangle
Check if the point's y-coordinate is greater than the top edge of the rectangle
Check if the point's y-coordinate is less than the b...
To find line that divides rectangle into 2 equal halves through a point inside it.
Find the center of the rectangle
Draw a line from the center to the given point
Extend the line to the opposite side of the rectangle
The extended line will divide the rectangle into 2 equal halves
There are multiple combinations of 8-bit and 16-bit signed numbers. How many such combinations are possible?
There are 2^8 (256) possible combinations of 8-bit signed numbers.
There are 2^16 (65,536) possible combinations of 16-bit signed numbers.
To find the total number of combinations, we can add the number of combinations of 8-bit and 16-bit signed numbers.
Therefore, the total number of possible combinations is 256 + ...
Find duplicates in an array of elements in 0(n) time and 0(1) space.
Use the property of inputs to your advantage
Iterate through the array and mark elements as negative
If an element is already negative, it is a duplicate
Return all the negative elements as duplicates
Generate all combinations of digits from an array, allowing and disallowing repetition.
Use recursion or backtracking to generate combinations.
For repetition allowed: e.g., arr={1,2}, combinations are 11, 12, 21, 22.
For repetition not allowed: e.g., arr={1,2,3}, combinations are 123, 132, 213, 231, 312, 321.
Utilize a set to track used digits when repetition is not allowed.
I appeared for an interview before May 2016.
I applied via Campus Placement and was interviewed in Dec 2016. There were 5 interview rounds.
Design logical circuits for arithmetic circuits in a blackbox.
Understand the functionality of the arithmetic circuits in the blackbox.
Identify the inputs and outputs of the blackbox.
Design logical circuits using logic gates to replicate the arithmetic operations.
Test the logical circuits to ensure they produce the same outputs as the arithmetic circuits.
Recursion in embedded C-code allows a function to call itself, useful for repetitive tasks or complex algorithms.
Ensure proper base case to avoid infinite recursion
Use stack space efficiently as embedded systems have limited resources
Avoid recursive functions with deep call stacks to prevent stack overflow
Example: Recursive function to calculate factorial of a number
based on 2 interview experiences
Difficulty level
Duration
Staff Engineer
171
salaries
| ₹25 L/yr - ₹45 L/yr |
R&D Engineer
160
salaries
| ₹14.1 L/yr - ₹23 L/yr |
Senior R&D Engineer
94
salaries
| ₹16.8 L/yr - ₹27.1 L/yr |
Software Engineer
78
salaries
| ₹11.8 L/yr - ₹18 L/yr |
Security Consultant
74
salaries
| ₹6.5 L/yr - ₹15.7 L/yr |
Intel
Apar Industries
Molex
TDK India Private Limited