Design Engineer Interview Questions | Glassdoor

# Design Engineer Interview Questions

2,318

Design engineer interview questions shared by candidates

## Top Interview Questions

Sort: RelevancePopular Date

### Software Design Engineer In Test at Amazon was asked...

Jul 28, 2012
 find if 2 strings are anagrams5 AnswershashHash what, lol ? :))) You simply need to alphabetically sort characters in strings and then compare the result.think about the time complexity. Whats the time complexity of the sorting? NlogN And when using hash mapping, it can be only N. Mapping the string to an alphabet array, the index is the char and the value stores the frequency of the char. Hope it helps.Show More Responseseasiest way probably to reduce the characters to ascii, add them all together. If values are equal, they all contain the same characters. O(n)Just reverse one string and then compare the result with other string.

### ASIC Design Engineer at NVIDIA was asked...

Apr 19, 2012
 Design a divide by 3 counter. Bonus for 50% duty cycle4 AnswersTake 3 dual edge flip flops and create a Johnson's counter. The output will be divide by 3 with exactly 50% duty cycleis dual edge flip flop a kind of cheating?I think this is the fastest way to do it. http://www.onsemi.com/pub_link/Collateral/AND8001-D.PDF Of course, I would not have been able to just innovate this in the blue in the middle of an interview tough...Show More Responsesreg [2:0] counter1 ; reg [2:0] counter2 ; always @ (posedge clk_in) if (enable == 1'b0) counter1 <= 3'b001; else counter1 <= {counter1[1:0],counter1[2]}; always @ (negedge clk_in) if (enable == 1'b0) counter2 <= 3'b001; else counter2 <= {counter2[1:0],counter2[2]}; assign clk_out = (counter1[0]|counter2[0]);

Jul 19, 2011

### Senior Design Engineer at AMD was asked...

Feb 25, 2009
 In saturation, the channel region pinches off well before the drain. How does current get from the source to drain then? (Since the channel is pinched off, it does not touch the drain)3 AnswersTunnelingIts drift, there is an electric field across the depletion region, whenever an electron diffuses into the depletion region, the electric field sweeps it across the the drain, the current thus depends on the diffusion into the depeletion region rather than the electric field strength so current is relatively constant in saturation.This is an excellent question and the last answer by anonymous is very correct. I will try to elaborate further. Now, when the channel is pinched off, this is due to an extension of the depletion region between the drain and the bulk into the channel region, thus due to the large(+ve) E field from drain to source, Electrons are swept into the n+(drain) region, thus u have drift current due to this movement! Now technically speaking, whenever you have a depletion region btw the N+ and P material, the current flow contribution is not only due to Drift, you have Diffusion contribution also but is assumed negligible compared to Drift current!

### Senior Design Engineer at Oracle was asked...

Jan 12, 2011
 A key is broken on your laptop keyboard. How do you work around it until you can get a new keyboard?5 AnswersOn screen keyboard or copy-paste the letter.Plug in a spare USB keyboard in the office with the key that works.Since you are in design engineering, continue to submit your designs without that pesky letter and you can fix the problems later. Given the amount of buggy HW and SW that is being shipped from Oracle these days, my guess is that there are a number of design engineers with broken keyboards at Oracle.Show More ResponsesReport the problem to the helpdesk and then tell your boss that you can't work because your equipment is malfunctioning and you need to wait for a repair. Go home and surf open job postings and relax.Find a coworker who has an identical laptop. Swap the hard drive. The laptop will boot up no problem. When the coworker fixes the broken laptop, swap the hard drive back and that way the inventory system will not be compromised when it comes time to refresh your laptop.

### ASIC Design Engineer at NVIDIA was asked...

Apr 19, 2012
 Complete the C function (body) that uses recursion to determine if the string is a palindrome4 Answersint isPalin(char *str){ int l = strlen(str); return isPalinHelper(str,0,l-1); } int isPalinHelper(char *str,int i,int j){ if(i= tail) return 1; return (palindrome(head+1,tail-1) && (*tail == *head)); } int check_palindrome (const char* str) { const char* tail = str + strlen(str) - 1; const char* head = str; return palindrome(head,tail); } int main(int argc, void* argv[] ) { if (check_palindrome (argv[1])) printf("true\n"); else printf("false\n"); }At my previous solution, please ignore the local variable int val at the palindrome functionShow More Responsesbool palindrome(char* str, int len) { if(len<=1) return true; if(len == 2) if(str[0] == str[1]) return true; return (str[0] == str[len-1]) && palindrome(str+1, len-2); }

### Software Design Engineer at Amazon was asked...

Mar 19, 2009
 Binary tree with parent pointers, given two nodes find common ancestor. 3 AnswersHint: use a hash tableFor each node traversed from the root, if both values are less than the current Node, then move to the left if both values are greater than the currentNode, then move to the right, if the value of current Node is between value 1 and value 2, then you have found the nearest common ancestor.Rajiv, you can't do that is tree is by parent pointers. you need to bubble up from the given nodes and put parents to a hash.

### Software Design Engineer at Amazon was asked...

Mar 19, 2009
 Design an email sender that can send 100,000,000 emails. You have 5 machines how could you do it efficiently.3 AnswersNeed to discuss where the performance bottlenecks are and how to mitigate them.You could probably have your input application send messages to a clustered queue. There are 5 servers running on the 5 machines, each server with its own MDB. The MDB would then pick it up from the JMS queue and send it to the recipient. The queue depth of the intermediate queue should be sufficient enough to allow sufficient buffer so that you dont have to worry about your input program putting messages at a much faster rate than the MDBs can process.use worker threads aka. Executors they have internal job queues that worker threads pick on. Provides high parallelism

### Analog & Mixed-Signal IC Design Engineer at Qualcomm was asked...

Jun 26, 2012
 How to make sure the 2-stage opamp is stable? How does the compensation work?5 AnswersUse compensation capacitor. Look up pole splitting which uses Miller effect on the capacitor.By constructing current mirror circuit using op-amp 741 through compensation resistor at the feedback side. Finally the input and output of the op-amp gets compensated.Using Miller compensation. A compensation capacitor across the 2nd stage to create pole splitting. A series resistor to the cap might be needed to solve the rhp zero problemShow More ResponsesUsing compensation capacitor, which makes the low frequency pole's frequency become lower and high frequency pole's frequency higher, so OPmap is more stable.Using compensation network including capacitor and resistor and monitoring the phase margin and gain margin as well.

Sep 3, 2010