## Google Interview Question for Software Engineer / Developers

Country: United States
Interview Type: Phone Interview

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

Solution in python

``````import re

def numVowels(line):
count = 0
for c in line:
if re.search("[aeiou]", c):
count += 1

return count

def bestScoreLine(fileName, scoreFunction):
f = open(fileName)

bestLine = None
bestScore = None

for line in f:
curScore = scoreFunction(line)

if bestLine is None:
bestLine = line
bestScore = curScore
elif curScore > bestScore:
bestLine = line
bestScore= curScore

return bestLine

## MAIN
print bestScoreLine("test.txt", numVowels)
print bestScoreLine("test.txt", len)``````

test.txt

``````abcdef
ab
abcdefghik
abcdefghkhllj
aeiouseiou``````

OUTPUT

``````aeiouseiou

abcdefghkhllj``````

Comment hidden because of low score. Click to expand.
2

why use regular expressions instead of something like
if c in ['a', 'e', 'i', 'o', 'u']:
?

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

Solution in java:

``````public interface Criteria {

public Score getScore(String input);
}

public class VowelCriteria implements Criteria {

@Override
public Score getScore(String input) {
int score = 0;
for(char c : input.toCharArray()) {
if(isVowel(c)) {
score++;
}
}
return new Score(score, input);
}

private boolean isVowel(char c) {
return c == 'a' ||
c == 'e' ||
c == 'i' ||
c == 'o' ||
c == 'u';
}
}

public class LengthCriteria implements Criteria {

@Override
public Score getScore(String input) {
int score = 0;
if(input != null) {
score = input.length();
}
return new Score(score, input);
}
}

public class Score implements Comparable<Score> {

public int score;
public String input;

public Score(int score, String input) {
super();
this.score = score;
this.input = input;
}

@Override
public int compareTo(Score s) {
return Integer.valueOf(this.score).compareTo(s.score);
}
}

public class CriteriaCalculator {

public static String[] words = new String[]{"georgia", "seattle", "arizona", "texas", "atlanta"};

public static Score getMaxScore(String[] words, Criteria c) {
Score maxScore = null;
for(String word : words) {
Score s = c.getScore(word);
if(maxScore == null || maxScore.compareTo(s) <= 0) {
maxScore = s;
}
}
return maxScore;
}

public static void main(String[] args) {
Score vowelMax = getMaxScore(words, new VowelCriteria());
System.out.println(vowelMax.input);
System.out.println(vowelMax.score);

Score lengthMax = getMaxScore(words, new LengthCriteria());
System.out.println(lengthMax.input);
System.out.println(lengthMax.score);
}
}``````

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

Java code using Pattern and Matcher class.

``````public static void main(String args[])throws IOException{
File file = new File("Input.txt");

try {
String str = null,finalStr=null;
int count=0,finalCnt=-1;
while((str = br.readLine()) != null){
count=0;
Pattern p = Pattern.compile("[aeiouAEIOU]");
Matcher m = p.matcher(str);
while(m.find()){
count++;
}
if(count>finalCnt){
finalCnt = count;
finalStr = str;
}
}

System.out.println("Max vowel string :: "+finalStr);
System.out.println("Max vowel count :: "+finalCnt);

} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}``````

Comment hidden because of low score. Click to expand.
-1
of 1 vote

If we can work on distributed environment we can also use MapReduce algo to improve performance.

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.

### 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.

### 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.

### 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.