Systems analyst Interview Questions in United States | Glassdoor.co.in

# Systems analyst Interview Questions in United States

10,931

systems analyst interview questions shared by candidates

## Top Interview Questions

Sort: RelevancePopular Date

6 May 2010

5 Mar 2009

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

27 Apr 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.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 responsesI 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? ThanksThe 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...

25 Apr 2012
 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 secInterviewer 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 responsesIt 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 processFirst 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.9Model 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

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

27 Feb 2012
 identify the number of 1s in an integer is odd or even7 Answershint is XORvoid 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 responsesWas 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");

7 Jun 2010

11 Apr 2018

### Systems Engineer at Apple was asked...

25 Aug 2009
 How can you edit/change the file which has only read permission 4 Answerschmod 755You just need to resave with a different nameIf you are the owner, you can save your changes regardless. In vi, do a w! .Show more responsesThe administrator can do it. So check you are as the good one to edit the file.