Microsoft Interview Question for Software Engineers


Country: United States




Comment hidden because of low score. Click to expand.
0
of 0 vote

C++ Program

#include<iostream>
#include<string.h>
using namespace std;
int main()
{
        char out[27]={'Z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y',0};
        char ans[100]={0};
        int t;
        cin>>t;
        while(t--)
        {
                int n;
                cin>>n;
                int j=0;
                while(n>0)
                {
                        int c=n%strlen(out);
                        //Using the remainder as the index of the character array.
                        ans[j]=out[c];
                        if(c==0)
                        {
                                n--;
                        }
                        n/=strlen(out);
                        j++;
                }
                //Reversing the answer string.
                for(int i=0;i<strlen(ans)/2;i++)
                {
                        char t=ans[i];
                        ans[i]=ans[strlen(ans)-i-1];
                        ans[strlen(ans)-i-1]=t;
                }
                cout<<ans<<endl;
        }
        return 0;

}

- sourabhd.bitm.ece2k8 January 02, 2016 | Flag Reply
Comment hidden because of low score. Click to expand.
0
of 0 votes

Sample Input: The first line is the number of test cases.
7
1
25
26
27
51
52
676

Sample Output:
A
Y
Z
AA
AY
AZ
YZ

- sourabhd.bitm.ece2k8 January 02, 2016 | Flag
Comment hidden because of low score. Click to expand.
0
of 0 vote

package com.concurrency.pkg;

public class RowLabel {

	private static int ASCII_CONST = 64;
	private static StringBuilder sb = new StringBuilder();

	private static int getRowLabel(int number) {
		if (number == 0) {
			System.out.println(sb.reverse());
			return 0;
		}

		int reminder = number % 26;
		if(reminder == 0)
		{
			reminder =  26;
			number = number -1;
		}
		int lastChar = ASCII_CONST + reminder;
		String s = (new Character((char) lastChar)).toString();
		sb.append(s);
		return getRowLabel(number / 26);
	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		getRowLabel(4076);

	}

}

- Suresh Patel January 02, 2016 | Flag Reply
Comment hidden because of low score. Click to expand.
0
of 0 vote

a series of mod operations would do the trick

public class numLetters {

	
	public static void main(String args[])
	{
		System.out.println( new  StringBuilder(findLetters(1)).reverse().toString()   );
	}
	
	public static String findLetters(int N)
	{
		String val = "null";
		if(N>0)
		{
		int x = N % 26;
		int y = (N-x)/26;

		if(y>0)
		{
			val = getLetter(x)+findLetters(y);
		}
		else
		{
		 return getLetter(x);
		}
		}
		else
		{
			return " ";
		}
		return val;
	}
	
	public static String getLetter(int n)
	{
		String val = "";
		switch(n)
		{
		case 0: val="z"; break;
		case 1: val="a"; break;
		case 2: val="b"; break;
		case 3: val="c"; break;
		case 4: val="d"; break;
		case 5: val="e"; break;
		case 6: val="f"; break;
		case 7: val="g"; break;
		case 8: val="h"; break;
		case 9: val="i"; break;
		case 10: val="j"; break;
		case 11: val="k"; break;
		case 12: val="l"; break;
		case 13: val="m"; break;
		case 14: val="n"; break;
		case 15: val="o"; break;
		case 16: val="p"; break;
		case 17: val="q"; break;
		case 18: val="r"; break;
		case 19: val="s"; break;
		case 20: val="t"; break;
		case 21: val="u"; break;
		case 22: val="v"; break;
		case 23: val="w"; break;
		case 24: val="x"; break;
		case 25: val="y"; break;
		default : val=" "; break;
		}
		return val;
	}
}

- vsounda1@binghamton.edu January 03, 2016 | Flag Reply
Comment hidden because of low score. Click to expand.
0
of 0 vote

def convert_to_alphabet(no, map):
    	no = int(no)
    	result = []
    	while no > 25:
    		rem = no%25
    		no = int(no/25)
    		result.append(map[str(rem)])
    	result.append(map[str(no)])
    	return result
    	
    map = {"0":"Z","1":"A", "2":"B", "3":"C", "4":"D", "5":"E", "6":"F", "7":"G", "8":"H", "9":"I", "10":"J", "11":"K","12":"L","13":"M","14":"N","15":"O","16":"P","17":"Q","18":"R","19":"S","20":"T","21":"U","22":"V","23":"W","24":"X","25":"Y"}
    input = "7 1 25 26 27 51 52 676"
    input = input.split(" ")
    print(input)
    for i in input:
    	print("".join(convert_to_alphabet(i, map)))

- aka January 04, 2016 | Flag Reply
Comment hidden because of low score. Click to expand.
0
of 0 vote

public string GetExcelLabel(int n)
{
	var sb = new StringBuilder();

	while(n > 0)
	{
		int value = (n % 26) - 1;
		var c = (char)('A' + value);
		sb.Insert(0, c);
		n = n / 26;
	}

	return sb.ToString();
}

- hnatsu January 06, 2016 | Flag Reply
Comment hidden because of low score. Click to expand.
0
of 0 vote

private static void getRowLabel(int num) {
// TODO Auto-generated method stub
char[] letters = {' ','A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'};
StringBuilder result = new StringBuilder();

while(num > 26)
{
result.append(letters[num%26]);
num /= 26;

}

result.append(letters[num%26]);
result.reverse();

System.out.println("Result is " + result);
}

- Sigma January 19, 2016 | Flag Reply
Comment hidden because of low score. Click to expand.
0
of 0 vote

class NumberToString {

func convertToString(number:Int) -> String?{
var string = String()
var remainder = number % 26
var quotient = number / 26
if remainder == 0{
remainder = 26
quotient -= 1
}
let c = Character(UnicodeScalar(64 + remainder))
if quotient > 0{
if let char = convertToString(quotient){
string = char
}
}
string.append(c)
return string

}

}

var inputNumber = 158278380461

var noToString = NumberToString()

var outputString = noToString.convertToString(inputNumber)

- srinivas_cnu February 13, 2016 | Flag Reply
Comment hidden because of low score. Click to expand.
0
of 0 vote

class NumberToString {
    
    func convertToString(number:Int) -> String?{
        var string = String()
        var remainder = number % 26
        var quotient = number / 26
        if remainder == 0{
            remainder = 26
            quotient -= 1
        }
        let c = Character(UnicodeScalar(64 + remainder))
        if quotient > 0{
            if let char = convertToString(quotient){
                string = char
            }
        }
        string.append(c)
        return string
        
    }

}

var inputNumber = 158278380461

var noToString = NumberToString()

var outputString = noToString.convertToString(inputNumber)

- srinivas_cnu February 13, 2016 | Flag Reply


Add a Comment
Name:

Writing Code? Surround your code with {{{ and }}} to preserve whitespace.

Books

is a comprehensive book on getting a job at a top tech company, while focuses on dev interviews and does this for PMs.

Learn More

Videos

CareerCup's interview videos give you a real-life look at technical interviews. In these unscripted videos, watch how other candidates handle tough questions and how the interviewer thinks about their performance.

Learn More

Resume Review

Most engineers make critical mistakes on their resumes -- we can fix your resume with our custom resume review service. And, we use fellow engineers as our resume reviewers, so you can be sure that we "get" what you're saying.

Learn More

Mock Interviews

Our Mock Interviews will be conducted "in character" just like a real interview, and can focus on whatever topics you want. All our interviewers have worked for Microsoft, Google or Amazon, you know you'll get a true-to-life experience.

Learn More