System engineer Interview Questions
system engineer interview questions shared by candidates
Top Interview Questions
How do you handle irate clients that are having technical trobules and need to work immediately. 3 AnswersRefrain from using technical jargon when explaining technical problems and solutions to clients and speak confidently. Approach the situation with 'we' working on the issue. Know that your are there to help solve this and act towards that, being calm and accurate towards solution. Even if the solution is that you will have to find out more and have to return to solve this issue. Ask for the ip address, then ask if it is an on or near-air emergency. Ask for the symptoms and if others are experiencing the same problem. If no one else is then have them jump on another pc if possible/feasible. Remote into the pc or tx the ip to the relevant trouble-shooter. |
Systems Engineer at NortonLifeLock was asked...
can you host multiple https sites with different domain names but same IP on the same server? how 3 AnswersNO, server cant tell which site is which because traffic is encrypted. The way question posed, the answer is YES, since you could cover all those https sites with a single certificate. But now this should even work for individual certificates http://en.wikipedia.org/wiki/Server_Name_Indication One or more comments have been removed. |
Systems Engineer at Avanade was asked...
What is the difference between RAID 0 & RAID 5? 2 AnswersIt should a simple question if you have worked with computers & HDDs. RAID 0 - Block striping (req. 2 HDDs) and no mirroring or parity RAID 5 - Block striping with 1 dedicated parity drive (req. 3 HDDs) To expand on the previous answer, RAID 0 improves HDD performance dramaticaly, but since there is no mirroring if one drive dies data is lost. RAID 0 should never be used on a system with critical data. In RAID 5, performance is slower, but it allows for the failure of a HDD with no loss of data. Consider instead, RAID 10. It requires a minimum of four HDD's, but provides an increase in performance with redundancy. |
How do you represent a real-world quantity in a digital system? 1 AnswerWhat he really wanted me to do was draw the schematic of an ADC input circuit. I don't know why he didn't just ask that in the first place. Since it was a broad question, I spent over 5 minutes explaining binary representation, word size (8/16/32bit), endian-ness, and finally when I mentioned ADCs, he latched onto that and tried to get me to dig deeper. So I drew a block diagram of an ADC, focusing mostly on the interface to the microcontroller, and the channel select multiplexer. He grew increasingly frustrated and tried to get me to draw more detailed sub-circuits for each of the blocks in my diagram. Finally, I got to the actual ADC front end, and I drew a classic textbook R2R ladder circuit, and he seemed satisfied with that. By that point we had spent over 10 minutes in an interview where he was already complaining that he had a lot of ground to cover in limited time. I was so frazzled by the question that I did not even think of mentioning a successive approximation ADC as an alternative to the R2R, even though it's a much more common implementation in my experience. |
You have 8 pennies, 7 weight the same, one weighs less. you also have a judges scale. Find the one that weighs less in less than 3 steps. 13 AnswersSet two pennies aside, put 3 on each scale and if they weight the same the lighter one is one of the other two, if not it is one of the three on the scale, repeat for the two or three remaining. A better answer: Split the 8 pennies into 3 groups of 3,3,2 pennies. Weight the first two groups of 3 pennies each. Case 1) - They weight the same. Therefore, take third group of 2 pennies and find the lighter coin. Case 2) Group 1 weights more than Group 2. Take group 2 (3 pennies) and pick any 2 out of 3. If they weight the same, then the third penny is lighter. Answer is trivial if they don't weight the same. It works for any scenario. Always split the groups in 3. It's a lot simpler than you'd think Divide the current number of coins by two and put them on both sides of the scale, remove the side that weighs more, and divide the lighter side in half, repeat so you start with 8: |||| |||| (4/4) || || (2/2) | | (1/1) Three steps, simple, logical, and and can get the right answer each time. Show More Responses Neil has it right. Dave - the question says less than three steps. Actually, Neil is still correct. The question does not say less than three steps, it says three steps. You must have misread it Tim. "Find the penny that weighs less in three steps." not less than, it's less in... And they both seem as though they would work and be relatively simple to perform, explain, and understand. I Can do it in one step: Look at the year on the pennies. If 7 pennies weigh the same it means that all 7 were manufactured either before or after 1982, when the mint changed the composition of the coin from solid copper to copper with a zinc core. the one that weighs differently was minted on the opposite side of 1982 as the 7 other pennies. To clarify and adhere to the the question better. the 7 pennies that weigh the same are pre 1982 and the one that weights less is post 1982 because zinc weighs less than copper. but like I said. the one step is to simply look at the date. Step One: Place two pennies aside and weigh 3 vs 3. Step Two: If they are equal then weigh the two other pennies. If a group of three pennies contains the lighter penny then cut one of them in half. Weigh the two groups of one and a half pennies. If its equal then the cut penny is the lightest, otherwise it is the whole penny on the lighter side. Neil's method works in 2 steps. On reflection, I think Bharat has the same method but did not explain it very well so it is hard to know. Uh...I read the question like this. "Find the one that weighs less IN LESS THAN 3 steps." It's pretty clear to me what it says. Matthew, that answer is AWESOME!!! Assuming of course they didn't add any crud like dirt, gum, etc. to the pre-1982 penny and 6 others to weigh equally, while the one remaining is newly minted. I'll remember that one. Dave, your answer is great. The feedback you got is a great lesson for us because you clearly answered the question and others need to ensure in an interview that they answer what is asked, pay attention and ask for clarification. You win Dave- great job! Great answer and explanation here: http://www.programmerinterview.com/index.php/puzzles/25-horses-3-fastest-5-races-puzzle/ Oops sorry, the answer is here: http://www.programmerinterview.com/index.php/puzzles/8-pennies-find-lightest-7-equal/ |
Systems Engineer at Google was asked...
How many trailing zeros are in the number 5! (5 factorial)? 11 AnswersThere are 24 trailing zeros. 100*99*98*97*...*2*1. A simple brain-teaser meant to recognize patters of multiplying successive multiples of ten and five. Show More Responses This sounds like one geared not so much towards getting the right answer, but getting to it the right way. If you think a bit and say "one", the interviewer will know you did it the brute-force way, doing the math. You'd get at the answer faster, and probably impress them more, if you think instead how many times a ten will be produced in doing that math, rather than what the actual result of the math will be. Sorry, I came back here to find what this BS question was and saw that I mistyped it. How may trailing zeros in (100!) ? >I never met an academic who was an effective engineer. Really? Your logic seems to show how ineffective of an engineer you are. If Google hires based on this practice, and Google is the de-facto leader in engineering, then what they are doing is the correct solution. http://www.purplemath.com/modules/factzero.htm To generate a zero, we need a (5,2) factor pair. For any given number N, we have at least N/2 number of multiples 2, so the number of zeroes can be determined by the count of numbers that have 5 as a factor (i.e we have more 2s than 5s) Roughly, we can count N/5 numbers that are multiples of 5, add to that numbers that are multiples of 5^2 (these will have two 5 factors) i.e N/25, add to that numbers that are multiples of 5^3 (these will have three 5 factors) and so on. For eg: 10! -> 2 multiples of 5 -> 2 zeroes 100! -> 20 multiples of 5 + 4 multiples of 25 -> 24 zeros 500! -> 100 multiples of 5 + 20 multiples of 25 + 4 multiples of 125 -> 124 zeros 1000! -> 200 multiples of 5 + 40 multiples of 25 + 8 multiples of 125 (5^3) + 1 multiple of 625 (5^4) -> 249 zeros 5x4x3x2x1 = 120 one Zero 5 x 4 x 3 x 2 x 1 Simply look how many 10s you can get out of it. In this case 5x2=10 Therefore, only one 10, hence, one trailing zero. One or more comments have been removed. |
Systems Software Engineer at NVIDIA was asked...
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. 7 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 The interviewer could be looking for some bit ops. But, the following one, works even page size isn't a power of 2. int mod = (value_to_align % page_size); value_to_align -= mod; if (mod > (page_size - mod)) { value_to_align += page_size; } Have you tried using this website? www.rooftopslushie.com It says you can get career advice and interview prep info from Nvidia employees. |
Senior Systems Engineer at Qualcomm was asked...
Given a wireless channel with loss rate 0.1, what's the throughput one can get with retransmission. 8 AnswersIt can modeled as binary symmetric channel. As to my understanding, channel capacity can be acheived with perfect feedback and simple retransmission scheme, so i guess the answer is 1-H(0.1). 10/(1.23456...)=8.1 packets per sec Interviewer was correct. With probability 0.1 you have one retransmission, with probability (0.1)^2 you have two, etc., since you can also lose the retransmitted packets, reducing the throughput to approximately 0.89. Show More Responses It is equivalent to simply a binary erasure channel with erasure probability 0.1, whose capacity is 1-0.1 = 0.9. aa should re-learn information theory and stochastic process First of all I don't think it has anything to do with the capacity of BSC. Note that h(0.1) = 0.46 and that means 1 - h(0.1) is roughly 0.5. If the packet error rate is 10% then BER is in the order of 0.1 / N where N is the length of the packet in bits. For that, the capacity of BSC is almost 1. In any case, in the non-ergodic case I believe the throughput is less than 0.9. Assume you want to send packets p_1, p_2, ..., p_k and each one takes N_1, N_2, ..., N_k time slots. Then, define the k-Packet Throughput (I made it up) as follows k-packet Throughput = (k / (N_1 + N_2 + ... + N_k)). Note that this throughput is a random variable. We can define the throughput based on this as the expected value of k-packet Throughput with respect to random variables N_1 , N_2, ... E[k-packet throughput] = E[ k / (N_1 + N_2 + ... +N_k)] 8' from the law of large numbers we have N_1 + N_2 + ... + N_k -> k E[N] = 1 / 0.9 * k. This suggests that k-packet throughput is a random variable which converges to its mean for large k, but for a finite k, its average is less than 0.9 All in all, I would have answered the question the way you did. In the long run, out of N transmissions you have 0.9 received and therefore the throughput should be 0.9 Model the problem based on the average number of transmissions it takes to deliver a packet. Let N be the number of transmissions. Then: Pr[N=1] = 0.9 Pr[N=2] = 0.1*0.9 Pr[N=3] = 0.1*0.1*0.9 ... and so on. The expected number of transmissions per packet is: E[N] = Sum{ k*Pr[N=k] } = 1*Pr[N=1] + 2*Pr[N=2] + 3*Pr[N=3] + ... where the summation index k goes from 1 to infinity. Then the throughput is 1/E[N] packets per transmission, which is 0.896... In the last solution, the number is calculated incorrectly. Accurate calculation gives the expected number of transmissions per packet E[N] = 1.11111, so that 1/E(N)=0.9, which corresponds to the reduction of transmission rate by exactly 10%, as suggested earlier. p=0.1 - probability of a packet transmission failure If we transmit a sequence of N packets with retransmission then an expected number of successfully transmitted packets will be E[N]=p*E[N-1]+(1-p)*(E[N-1]+1)=(1-p)+E[N-1], and as E[0]=0 it easy to solve the recursion: E[N]=N*(1-p) Expected number of successfully transmitted packets per one transmitted packet will be C[N]=E[N]/N=(1-p). The channel capacity is limit of C[N] as N approaching to infinity that is clearly equal to 1-p=0.9 |
There is a body of water that starts with 1 square unit, and doubles in size every day (2 units after 2 days, 4 units after 4 days). It takes 100 days to fill up. How many days would it take to fill if you started with 2 square units? 6 Answers100 - 1 = 99 days This question is phrased incorrectly. I think you meant "4 units after 3 days". Which makes your answer wrong as well. This is not helpful at all. if you start with 1sq unit - lets say you end up with 'x' amount to fill up - takes 100 days if you start with 2 sq unit - you will have to fill up '2x' amount thus it will take - 200 days. Show More Responses Starting with 2 square units at time t=0 is like 1 square unit at t = 1. [this logic is the key to answering the question]. Now let's do the first few cases. t = 0: size = 1+1 = 2 t = 1: size = 2(1+1) = 2+2 = 4 = f(2) in the 1 unit case. Pretty easy to see it only requires 1 time period less from here. The OP was right. 1 day less that is 99 days. It is still 100 days. Starting from 2^0, and going all the way to 2^100, the reservoir has a capacity of 2^101 - 1 units. Now in the second case, starting from 2^1, in 99 days there will be 2^101-2 units of water in the reservoir, which is one unit short of the capacity of the reservoir. So we need the 100th day to fill it up! |
Systems Engineer at Apple was asked...
How can you edit/change the file which has only read permission 4 Answerschmod 755 You just need to resave with a different name If you are the owner, you can save your changes regardless. In vi, do a w! . Show More Responses The administrator can do it. So check you are as the good one to edit the file. |
See Interview Questions for Similar Jobs
- Cashier
- Receptionist
- Healthcare
- Sales Associate
- Dental Assistant
- Pharmaceutical Sales
- Marketing
- Security Guard
- Pharmacy Technician
- IT
- Accountant
- Mechanical Engineer