Software Systems Engineer Interview Questions | Glassdoor

# Software Systems Engineer Interview Questions

157

Software systems engineer interview questions shared by candidates

## Top Interview Questions

Sort: Relevance Popular Date

### Senior Software Systems Engineer - Professional Services at Aspera was asked...

Jul 5, 2012
 How would you peform an SSH connection between these two PCs. I can't give you any information on these PCs, just do it. 4 Answers Couldn't do it. Not enough information to complete. ssh into localhost ;P Simply SSH in to localhost Show More Responses ssh username@localhost A ssh server must be installed on both systems. Any PCs running Windows will require an SSH client, such as PuTTy.

### Tegra Systems Software Engineering at NVIDIA was asked...

Feb 27, 2012
 identify the number of 1s in an integer is odd or even 7 Answers hint is XOR void OnesAreOdd(int n) { int i=0; while(n!=0) { n=n&(n-1); i++; } return (i&1==1)?true:false; } Above solution is incorrect. void OnesAreOdd(int n) { int i=0; while(n!=0) { n=n&(n-1); i=i^1; } return i==1?true:false; } Show More Responses Was taken from: http://graphics.stanford.edu/~seander/bithacks.html unsigned int v; // word value to compute the parity of bool parity = false; // parity will be the parity of v while (v) { parity = !parity; v = v & (v - 1); } Hey guys, why are you thinking the question means binary 1s? I think it means decimal 1s. Let number be c int count = 0; while ( c != 0 ) { count += (c & 1); c >> 1; } if ( count%2 == 0) printf("Number of 1s are even); Easy dumb solution, convert the number to string and count. sprintf(str, "%d", num); int i=0, cnt=0; while (str[i]!='\0') { if (str[i++]=='1') cnt++; } if (cnt%2) printf("odd"); else printf("even");

### Systems Software Engineer at NVIDIA was asked...

Apr 27, 2012
 Given a page size and a number, align the number with the nearest page. (Note: This was a phone interview question. The interviewer and I used an online document to share ideas about this problem. 5 Answers //naive solution: int getAlignedValue(int pageSize, int valueToAlign) { int index = valueToAlign/pageSize; return index * pageSize; } //faster solution: int getAlignedValue_Fast(int pageSize, int valueToAlign) { return valueToAlign & !(pageSize-1); } I think that at the faster solution you mean int getAlignedValue_Fast(int pageSize, int valueToAlign) { return valueToAlign & ~(pageSize-1); } Note: There is a difference between !(pageSize-1) and ~(pageSize-1) ~(0x11) is 0xee !(0x11) is 0 @The Dude Good catch! I didn't think about that. (Fortunately, I didn't have to execute the code in the interview--I just typed it in a program similar to Google Docs.) Thanks! Show More Responses I just wanted to point out that the "faster solution" only works if the pageSize is assumed to be a power of 2. For example, suppose pageSize = 10 (or 01010 in binary), and valueToAlign = 24 (or 11000 in binary), then the fast method would give 16, but it should be 20. Anyways, thanks for posting the question and solution. @observer I see how the mask works out for the alignment, why it is works mathematically? Thanks

### Software Systems Engineer at MITRE was asked...

Jul 14, 2009
 Please describe how to implement a function to print out a linked list backwards 2 Answers I outlined how to accomplish this in the C programming language, just watch out for basic stuff from your first computer science classes and software systems classes. iterate through the list and add the data onto a stack; then iterate through the stack and print..o(2n). alternatively you can write a recursive function that calls itself on the next element before printing its own element, but that has its own overheads.

### Systems Software Engineer at NVIDIA was asked...

Apr 1, 2012
 write a function to set a particular field of register to the desired value. ( For example, set bit 3 - 10 of a word to the given value) 2 Answers Example: Value=0x1234 Desired Bits are 0,1, 7 & 15 Desired value=0x8083 Example: Value=0x1234 Desired Bits are 0,1, 7 & 15 Desired value=0x8083

### Systems Software Engineer at NVIDIA was asked...

Apr 27, 2012
 Implement memcpy. 3 Answers void memcpy (int* dest, int* src, int length) { char* currSrc = (char*)src; char* currDest = (char*)dest; for(int i=0; i

### Senior Systems Software Engineer at NVIDIA was asked...

Jul 16, 2013
 if there exists a sequence of integers in order, and you are at a receiver and you obtain these integers out of order, how can you know which integer is missing? 1 Answer I said receive the numbers in a linked list so when they are done they are sorted and then we can tell which one is missing. The answer the interviewer was looking for was simply add them and subtract them from the expect value (which assumed we know the base but this wasnt clarified).

### Systems/Software Engineer at Hewlett Packard Enterprise | HPE was asked...

Aug 19, 2016
 You are hosting a party with 1000 bottles of wine and 10 servants, however, one of the bottles has been poisoned. How do you determine, using the servants, which bottle of wine is poisoned? 2 Answers You can determine which bottle was poisoned by having a unique combination of servants try every bottle. For example servant 1 and 2 will try bottle 1. Servant 1, 2, and 3 will try bottle 2, and then continue on but with a unique combination of servants testing the bottles. The below solution comes at the answer in 1 single try: Let the bottles have a 10 digit binary number (supports upto 1024 bottles). Servant 1 drinks from all bottles whose first binary digit is 1, and leaves those with digit 0 alone. (500 bottles) Servant 2 drinks from bottles with 2nd binary digit 1, and leaves alone digit 0, and so on. Depending on whether the servant dies or not, you have the binary digit that corresponds to him, and can root out the bottle with one iteration. However, this can kill upto 9 servants in single try depending on the number on the poisoned bottle. (Killing all 10 not possible as a number with all ones will number 1023, we dont have that many bottles)

### Senior Software Systems Engineer at Siemens was asked...

Jun 28, 2010
 MORE than 50 questions on television broadcast systems, electronics, networking, control systems, electronics and software engineering were asked. 1 Answer Three hours of phone interview.

### Senior Systems Software Engineer at NVIDIA was asked...

Jun 16, 2010
 Find the words used in some text and report by word length and how often each word appears. 1 Answer Parse list to obtain words, whether space/comma/linebreak delimiter ArrayList> where the word length will be the index of the ArrayList. HashMap will have key as the single word in text and the value will be an Integer as the counter for how many times the word appears.
110 of 157 Interview Questions

More