Software developer interview questions. Hope it helps.

© All Rights Reserved

Просмотров: 27

Software developer interview questions. Hope it helps.

© All Rights Reserved

- Tableau Interview Questions.
- SQL Developer Interview Questions
- Web Developer Interview Questions
- AngularJS Interview Questions
- Oracle Report Builder 10g
- tableau
- SQL Interview Questions
- SQL Interview Questions
- Oracle Developer Interview Questions
- HR Interview Questions and Answers
- Tableau Questions
- Tableau Tutorial
- Oracle Warehouse Builder
- FICO Interview Questions Set 001 to 016
- HR schema
- DC08_sol
- Centura Report Builder
- RBuilder
- Oracle Reports Developer 10g Build Reports
- Networking and TCL Interview Questions

Вы находитесь на странице: 1из 16

http://www.ocf.berkeley.edu/~kelu/interviews/questions.html 1/16

Interview Questions

There are three types of interviews: informationals, phone screens, and onsites. The

informational is the first meeting with a company and it is usually a phone chat with a recruiter. A

screening is a one hour test, by phone or in person, to assess your technical skills. I also had

many informationals with hiring managers, and 80+% of the time I was asked technical

questions. Unless their title explicitly says recruiter then you need to expect technical questions.

The onsite is the final stage. Its 3 to 6 interview sessions with individual or pairs of interviewers.

And if things will go well, some companies will have you meet with the hiring manager at the

end.

It is best to solve these questions on a white board. Simply knowing them or memorizing will

only help marginally. Read the section on preparing for an interview for more details.

Lastly, the company names are removed because the smaller shops do not have the resources

to come up with new questions.

A. Informational Questions

Here are the questions I have been asked by recruiters. These are aimed at determining your

skill set, interests, and personality. Similar questions were asked in the later stages too.

1. Why do you want to work for us?

If you cant answer this question then you shouldnt have applied. Companies want

to hear: I am looking for a challenge., I love your companys products and want to

work on something Im passionate about., and I learned your company culture

values x, y, and z. These things are important to me.

One time I told a .NET shop that I wanted to get away from Microsoft technology and

work with open source software. Unsurprisingly, I did not get a call back. Dont be

stupid. Dont lie. Research the company and tell the truth.

2. Why do you want to leave your current company?

This is similar to question 1. Be positive. Don't say "I hate my boss" or "They never

gave me a raise." I told a hiring manager that I didn't like the people who did xyz at

my company. His response was "I was a xyz there." Can you guess if I got an offer

afterwards?

3. Have you used our product? What do you know about our product?

Also similar to question 1. Companies like candidates who do their research ahead

of time. And it is especially important for companies like Apple and Tableau. In fact,

6/26/2014 Interview Questions

http://www.ocf.berkeley.edu/~kelu/interviews/questions.html 2/16

being familiar with the product is one of Tableau's founding values.

4. How can you improve our product?

I hear this question often from consumer facing websites/apps. Answering correctly

demonstrates you have done your homework and you can advocate for the end

user.

5. Generic behavioral questions like tell us a difficult problem you overcame.

These types of questions are covered in both of the books as well as sites on the

web.

B. Phone Screen Questions

These are more technical, but you can still get asked questions from informationals. If you have

the option to do it in person then go to their office. Otherwise, get familiar with the webtool

ahead of time. Majority of companies used http://code.stypi.com/.

1. What is your biggest achievement? Biggest programming challenge?

They want to hear what you can do. If you are a senior engineer, this is your chance

to sell yourself. Tell them about an ass kicking project you did that saved the

company millions of dollars. Go deep and go big. And this will often be asked during

the onsite too.

2. Implement an arraylist. Need constant time for adding and removing

elements.

Implementing an arrayList/vector is generic but I couldnt figure out a good way to fill

up the gaps in the array when elements were removed. If you figure out a good

solution then please share it with us.

3. Given a maze represented by a grid and a robot. Write code that helps the

robot travel from a starting point to the end. The robot has the following API:

Interface robot

{

CanGo() //checks to see if it can travel in the direction it is facing.

TurnRight() // changes direction

IsAtFinish() //returns true if standing at the end of the maze.

6/26/2014 Interview Questions

http://www.ocf.berkeley.edu/~kelu/interviews/questions.html 3/16

Go() //moves 1 step in the direction it is facing.

}

r - starting point.

X - blocked area.

f - finish.

X X X X X X X X

X X X

r X X X

X X X X X

X X X X

X X X X X X

X X X X f X X

X X X X X X X X

Hint: the accesible paths have only a width of 1.

Can be solved as generic graph traversal problem. But if you take advanage of the

hint then you don't need to remember where you have traveled.

4. Output the elements of a binary search tree in order. Follow up: Given the

root node and another node of the BST, find the next node in order.

Part 1 is basic tree traversal. And Part 2 is a generic BST problem that you should

master.

5. Find the duplicate elements in a string.

This is doable in linear time with a single pass.

6. Describe abstraction, encapsulation, polymorphism.

I also got asked: is-a and has-a? Abstract class vs interface? Class vs isntance?

DFS vs BFS? BST vs array? These are basic 101 concepts. And are probably

asked to see how well you can communicate a simple idea. Make sure you have a

clear and concise answer for each.

7. Design an LRU cache.

back

6/26/2014 Interview Questions

http://www.ocf.berkeley.edu/~kelu/interviews/questions.html 4/16

Standard questions that gets asked a lot. Hint: it requires two data structures.

8. Given an array of positive and negative integers. Find the starting index and

length of sub-array with the largest sum.

Can be done in linear time with constant memory.

9. The nodes in a standard binary tree contain a next pointer that points to

NULL. Change the next pointer to point to the nearest node to the right and

on the same level.

Most people solve this using queues, which is O(N) space. You can really impress

your interviewer if you do it with O(1) space. I giggled like a school girl when two

different companies asked this in the same day.

10. Given an n x m matrix of ints. Each int/square has a value of 1 or 0. Two

squares are connected if both have a value of 1 and they are next to each

other (diagonals do not count). The area is the sum of all connected

squares. A single square has an area of 1. Calculate the median of all the

areas. n and m are 1024 at most.

0 1 0 0 0 0 0 0

1 1 0 0 0 1 1 0

0 0 0 0 0 1 1 0

0 0 0 0 0 0 0 1

The example has three areas with sizes 1, 3, and 4. The median is 3.

Think about which data structure to use for the median for best performance. There

are also multiple ways to parse the areas.

11. Databases for Twitter are eventually consistent. But when a user creates a

login it needs to be unique and guaranteed. Design a system to support

this.

Interviewer wanted me to describe paxos.

12. Given an array of arrays of sorted ints. Returned the kth largest.

Variations of this were asked three times. Run time should be O(k * log n), where n

6/26/2014 Interview Questions

http://www.ocf.berkeley.edu/~kelu/interviews/questions.html 5/16

is the number of arrays. If n is 2 then it can solved in O(log k).

13. Class vs instance? Follow up: what is a virtual function and how are they

implemented?

http://en.wikipedia.org/wiki/Virtual_method_table

14. Find all of the phone numbers in 50k files?

Use regular expression. Know how to do this with command line commands. Or in a

Perl script.

15. Reverse a null terminated string.

An easy question does not mean the interview is a cupcake. I assume easy

questions are graded harder--how fast and how well did you finish? Test cases, etc.

16. Implement binary search to find values from an array of sorted floats.

Same as above. Beaware of cupcakes.

17. Convert a string to a long.

Standard atoi.

18. Create the add and delete functions for a tri-nary search tree. It is like a

binary search tree except there is a middle pointer and duplicates are

allowed. This middle pointer points to nodes with identical values.

Not really different from BST.

C. Onsite Questions

Mostly a mixture of coding and design questions. But questions from previous sections are also

asked during onsite interviews.

1. Given a N x M sized Boggle board. Find all of the valid words.

6/26/2014 Interview Questions

http://www.ocf.berkeley.edu/~kelu/interviews/questions.html 6/16

This got asked twice.

2. Make the game asteriods. Code it.

Break the problem into work items and implement it.

3. Given an n-ary tree and m number of nodes, how do you find the first

common parent? If the nodes had parent pointer, how would you do it?

You can extrapolate from the binary tree case.

4. topological sort.

Learn it. It gets asked a lot. Make sure you can recognize it and do both

implementations.

5. You have 10MB of data mapping IP range to country code. And 100GB of IP

mapping to URL. Find the 10 countries with the most web traffic.

Find the 10 most visited URLs for each country.

First one is easy. Second requires a bit more thinking.

6. Given two nodes of a BST, return the least common ancestor. A node

cannot be its parent. (The other variation allows a node to be its own

parent.)

Should be pretty simple.

7. Implement a prefix calculator. Takes in the string "+ 3 * 3 4" and spits out 15.

Apparently the double stack implementation is impossible. :/

8. Add two strings. For example ""423" + "99" = "522"

This is a fun and common problem. Try to do it as efficiently as possible. Also, does

it matter that it's base 10?

9. Subtract two strings.

6/26/2014 Interview Questions

http://www.ocf.berkeley.edu/~kelu/interviews/questions.html 7/16

Slightly trickier than adding. They are still both O(n) but subtraction requires more

cycles.

10. Multiply two strings.

This one is pretty hard and it took some thinking.

11. Divide two strings.

Just kidding! I don't think this is possible in an 1 hour long interview.

12. Given two integer arrays and a number k. Return all pairs of numbers that

sum to k. Each number of the pair has to be from a different array.

What is the best space and time efficient way to do this? You should arrive at an

linear algorithm.

13. Design a hash that can also return a random element in O(1).

Kind of like an LRU cache where you need two data structures.

14. Design a mobile app for to control Hulu on the Xbox.

API, UI, network protocol.

15. Given an n x m grid. What is the total number of rectangles? The sample

below is 2 x 3 and contains 18 different rectangles. If we remove a w x h

portion of the grid, what is the total number of rectangles?

First part is really easy. Second part is too if you think about it first, but coding might

take a little longer.

16. Design Twitter. Make sure you include a search function.

6/26/2014 Interview Questions

http://www.ocf.berkeley.edu/~kelu/interviews/questions.html 8/16

Big data, distributed system, system design questions are fun!

17. Using this mapping:

"0" -> "a"

"1" -> "b"

...

"24" -> "y"

"25" -> "z"

How many possible mappings are there for any numerical string? For

example, "11" can be mapped two different ways: "bb" and "j".

Spoilers: it's like fibonacci...

18. Given a list of words in an alien language. If you know the list is sorted in

alphabetical order then how do you determine the alphabetical order of the

letters? For example, from the following list of English words we can

determine the letter "t" must come after "b". And "c" is before "z".

list:

cab

cat

zebra

Beep! Beep! Topological sort problem detected.

19. Given a function f and a number d. I want you to call f after waiting d

miliseconds.

People tell me this is a classic question asked by hiring managers for senior

positions. It's basically design a task scheduler.

20. Return the first n prime numbers.

How do you optimize this? Is it thread safe?

21. Given two strings a and b. Return true if any substring of a is an anagram of

b.

This can be done in linear time with linear space.

22. Given an array of sorted non-overlapping intervals. Insert a random interval i

6/26/2014 Interview Questions

http://www.ocf.berkeley.edu/~kelu/interviews/questions.html 9/16

into the array and maintain the array's property. For example, inserting (3, 6)

into {(0,1), (2,4), (5,10)} results in {(0,1), (2,10)}

Understand the array's implementation when designing the optimal solution.

23. Invert a binary tree. Each child now points to its parent. Return a list of the

original leaf nodes.

This is like reversing a linked list, except with a few more if statements.

24. Invert a graph. If node A pointed to node B then B now points to A instead.

There are many ways to represent a graph. Which one has the best run time and

easiest implementation for this problem? Also, what happens if the graph is

cyclical?

25. Transport a 4GB file between two systems; each with 1GB of RAM. The final

output needs to be compeletely randomized.

My lack of filesystem knowledge doomed me.

26. Design a runner app that calculates miles per minute.

You have a GPS API and one for the UI.

27. Given a size n array that contains all intergers from 0 to n-1. The elements

are in random order, how do you sort it?

I feel really dumb not getting this question.

28. Colors on the web are defined by a three bytes: 0x00 00 00 to 0xFF FF FF.

Implement a lossy compression that maps from three bytes to three half

bytes. For example, 0xFF 01 FE is mapped to 0xF 0 F.

Test all values to make sure it works.

29. Water fill bar graph column problem.

There has to be a better description of this on the web.

6/26/2014 Interview Questions

http://www.ocf.berkeley.edu/~kelu/interviews/questions.html 10/16

30. Design a load balancer class.

Code it out. Make sure it can add and remove machines.

31. Convert an array of strings into one long string. And then convert it back.

What does the long string look like?

32. Build a class for handling math expressions.

Go fish. This question was very vague. In hindsight I should have asked for more

clarifications before coding.

33. Given an array of unsigned ints and a number s. Return true if a pair in the

array sums to s.

Worst case is O(n^2). How do you better?

34. Count the number of nodes in a binary tree that have only one child.

Recursive tree traversal. Shouldn't be too hard.

35. "Read and analyze this code. What do you think?"

The interviewer wants you to find bugs in code. It's usually bad abstraction,

concurrency issues, memory leaks, or no input sanitation. The usual stuff you'd

discover in a code review.

36. Design the Maruder's Map from Harry Potter for a tablet.

6/26/2014 Interview Questions

http://www.ocf.berkeley.edu/~kelu/interviews/questions.html 11/16

Features for readibility? Data structures for storing information?

37. Design the system used by a local rental car agency. It needs to handle:

reservations, check out, check in.

How does it handle error conditions? Such as reserved car is not returned by

previous owner? What if user wants a list of all cars available between a certain

date? How do you scale to a national chain like Hertz?

38. What is the least number of comparisons needed to find the smallest and

largest numbers in an array of ints?

Worst case is 2n. How do you do better?

39. What is the least number of comparisons needed to find the second

smallest and second largest numbers in an array of ints?

Try to find the second largest first by itself.

40. An N sized array contains integerts starting from 1. Find the first missing

integer. For example, in [4, 1, 3, 2, 6] the first missing integer is 5.

You can sort the array and find the missing number in O(n log n). How do you do

better?

41. Describe the excel table problem.

6/26/2014 Interview Questions

http://www.ocf.berkeley.edu/~kelu/interviews/questions.html 12/16

Nag me about this. I need to update it.

42. The transitive property means if a > b and b > c then a > c. Assume a set of

numbers break this property. If a > b and b > c then a > c, a == c, or a < c.

Given an array of such numbers, find the maximum value.

Is there even a guaranteed max?

43. What is override vs overwritten? Singleton vs Factory? cdecl/c++ calling

conventions?

More term definitions. Memorize these.

44. A musuem's floor space is represented by a N x M matrix. A square can be a

wall, a guard, or empty space. Given a list of guards, calculate the mahattan

distance of all empty space to the nearest guard. The path cannot go

through walls. This is what the output should look like:

G 1 2 2 3 4 5 6

1 2 2 1 2 3 4 5

2 2 1 G 1 2 3 4

3 3 2 1 2 3 4 5

W W W W W 4 W W

G 1 2 3 4 5 6 7

Bonus: Given an N x M with one guard. Place a second guard to optmize the

coverage.

6/26/2014 Interview Questions

http://www.ocf.berkeley.edu/~kelu/interviews/questions.html 13/16

The bonus part probably has a dynamic programming solution. And you also need

to define what is optimal.

45. Given two strings, find the largest common substring.

I have no idea what the optimal solution is but I think this is a well known problem

and desribed on wikipedia.

46. Implement a filesystem that allows multiple readers and one writer. No

readers can read when the writer is writing. And the writer cannot start

writing if a read is in progress.

Concurrency fun!

47. Design a search engine.

Something about servers, databases, etc.

48. Given a non-cyclical linked list. Each node also contains a random pointer,

which points to null or another node that is already in the list. Copy this list.

There is a layman solution that uses hash tables. And a trick solution that doesn't

need the hash, and I'm not sure how people can actually come up with it instead of

the hash solution.

49. Design a URL crawler using the following APIs:

getURL() - returns a list of all pages linked from the current page.

visit() - process the current page.

Given a starting page, how do you process all pages?

It's a graph traversal problem. But think about DFS vs BFS. If the average page has

10 links and goes 10 layers deep then how much memory does each take up?

50. Given an array A. Return array B where B[i] = the product of all elements in A

except for A[i]. You cannot use division.

Stupid puzzle problem.

51. Implement a filesystem that allows multiple readers and one writer. No

6/26/2014 Interview Questions

http://www.ocf.berkeley.edu/~kelu/interviews/questions.html 14/16

readers can read when the writer is writing. And the writer cannot start

writing if a read is in progress.

Concurrency fun!

52. What is deadlock? Race condition? What happens when you add const to

the end of a method declaration?

More definitions. Answer these sussinctly.

53. Given a black and white image. How do you produce the mirror image?

Unlike reversing a string, we know have to reverse the bits in the bytes. This is

actually a complicated problem.

54. Merge an array strings into one string. Return this string to the clients. When

given back the merged string, separate it into the array of strings again.

This is different from the other problem because the clients can use the

intermediatery string. It's a more open ended question and leads to a discussion

about trade offs.

55. Given two linked lists. Find out if they converge. Return the node they first

converge on.

Edge cases: what if a list is cyclic?

56. Given a M by N matrix of intergers. If an entry is 0 then set the entire row and

column to zero.

How do you make this run faster?

57. Shift an array by k places.

There is a trick to this.

58. When playing a game on the Xbox, I want to use the corresponding app on

my phone. Design a robust system to handle this. The phone needs to know

the XBox ID/gamertag.

6/26/2014 Interview Questions

http://www.ocf.berkeley.edu/~kelu/interviews/questions.html 15/16

More distributed system design fun!

59. Given two parameters: n and c. Print out all integers from 1 to n in c

columns. For example, the output for n = 13 and c = 4 looks like this.

1 5 9 13

2 6 10

3 7 11

4 8 12

This is easy. Part 2 is below.

60. In the previous problem, notice there are empty spaces in the last column.

Change the algorithm to move the empty spaces in the last row. Like this:

1 5 8 11

2 6 9 12

3 7 10 13

4

For some reason, I just could not figure out the second part of this problem. Felt so

dumb. Then again, I was exhausted. It was six hours of straight interviews without

any breaks--my lunch buddy decided to turn my lunch into an interview. Note to

companies: please don't do this. Us poor candidates really need our break.

61. GetXY(), DrawX(), DrawY().

Remind me to update and describe this problem using drawings.

62. Given a list of lists of strings such as:

{("a1", "a2"),

("b1")

("c1", "c2", "c3")}

Print them in this order: "a1", "b1", "c1", "a2", "c2", "c3"

Again choice of data structure makes or breaks this problem.

6/26/2014 Interview Questions

http://www.ocf.berkeley.edu/~kelu/interviews/questions.html 16/16

63. What would you do if you had a billion dollars?

Someone asked this immediately after a challenging system design question. I was

totally caught off guard and just mumbled. Though I am very proud of myself for not

blurting out "Hookers and blow."

64. Do you really want to work for us? Are we your first choice? Who else are

you looking at? Are we in the running?

This often get asked at the end of an interview. Or it's the first question asked when

the recruiter calls after an interview. Companies do this to gage your interest and

excitement level. They don't want to give an offer to someone who doesn't want to

work for them.

I told my Hulu referral that I rather go to Google (recruiter told him to ask me). Then I

told my Google interviewers that I want to be at 343 Industries or Redfin. Guess how

many offers I got from Hulu and Google.

65. Where do you see yourself in 5 years?

Not at this stupid company!

-_- Did you read the previous question? In general, try to say things they want to hear

until you have an offer.

- Tableau Interview Questions.Загружено:katy0001
- SQL Developer Interview QuestionsЗагружено:asavari87
- Web Developer Interview QuestionsЗагружено:Simanchala Pattanayak
- AngularJS Interview QuestionsЗагружено:bala.mca.2006
- Oracle Report Builder 10gЗагружено:Rodessa Austria
- tableauЗагружено:umeshnair1
- SQL Interview QuestionsЗагружено:Lella Anjaneyulu
- SQL Interview QuestionsЗагружено:Jyotidesai
- Oracle Developer Interview QuestionsЗагружено:voineac_3
- HR Interview Questions and AnswersЗагружено:Saravanan
- Tableau QuestionsЗагружено:Svr Ravi
- Tableau TutorialЗагружено:rsreddy434
- Oracle Warehouse BuilderЗагружено:api-27242535
- FICO Interview Questions Set 001 to 016Загружено:usenextindia
- HR schemaЗагружено:yoangseila
- DC08_solЗагружено:Rasshree
- Centura Report BuilderЗагружено:Kiefer Fernandez
- RBuilderЗагружено:lucasfranca
- Oracle Reports Developer 10g Build ReportsЗагружено:Diego Torres Valencia
- Networking and TCL Interview QuestionsЗагружено:nawrajlekhak
- Forms Services Deployment GuideЗагружено:Jibin sam
- Oracle_E-Business_Suite_R12_Upgrade_ServicesЗагружено:sdkar2000
- Intro to TsqlЗагружено:sudheer_edupuganti
- Server -Best PracticesЗагружено:MonzieAir
- SQL Learning SkillsЗагружено:Dinesh Chakravarthy
- SAP_FICO_Interview_Questions_Answers_Explanations.pdfЗагружено:srinivasgandh_674284
- oralcee apps notesЗагружено:K Vishnuvardhan Reddy
- Interview Questions BibleЗагружено:RaheelKamran
- 86306074-Oracle-Apps-Technical.pdfЗагружено:parvathi12

- asio_docЗагружено:Dmitry Yakovlev
- 13 Reading the Command LineЗагружено:gdskumar
- MongoDB - Use Cases Guide.pdfЗагружено:grewosoft
- Timer1 Module Data Sheet ErrataЗагружено:Guillermo Hernandez
- Kiosk Hr ServiceЗагружено:lkosgey
- US Treasury: GFRS Reports OverviewЗагружено:Treasury
- Chip Envy24Загружено:Sabino Guevara Espinosa
- Chi2009 Mobile Michael JeffersonЗагружено:earthtomj
- vEPC-BerkeleyDBЗагружено:mash0703
- FIM White Paper Identity Federation ConceptsЗагружено:kingnachi
- CRM12Загружено:Umapathi Baskar
- Facebook Marketing for Small Business - Training GuideЗагружено:Hafez Haridy
- A New Integrated Robot Vision SystemЗагружено:Hieu Tran
- MDM InstallationЗагружено:Jatin Kashyap
- @Report - ICT @ 2Загружено:chkung
- Cloud HandoutЗагружено:PrashilGupta
- d52174Загружено:eumetallica
- Biometric Authentication in Relation to Payment SystemsЗагружено:panchalhardik
- traceback.txtЗагружено:Cap
- Keonics Course DetailsЗагружено:2gangadhara
- FALLSEM2018-19_CSE2001_TH_SJT502_VL2018191005001_Reference Material I_Computer Architecture and Organization - IntroductionЗагружено:Abhradeep Nag 16BEE0087
- Vmware Evaluation ProposalЗагружено:jasminesing
- 90254-01a-RAID Storview User GuideЗагружено:Ionescu Adrian
- DR60 Cortec AЗагружено:Senta
- Mantık DevreleriЗагружено:mustafakorkmz
- Change LogЗагружено:lucfortes
- SEGURO – YOUR AFFORDABLE SOLUTION TO PROTECT YOUR VALUABLES!Загружено:alitamaharaj
- OM2012 MP ClusterЗагружено:kishore2285
- Halrefmancom.en USЗагружено:theimagingsource
- CaroO Driving Recorder v3.0.0 Manual AlphaЗагружено:Chivu Liviu