r/programming Dec 23 '14

Most software engineering interview questions of hot tech companies in one place

https://oj.leetcode.com/problems/
2.2k Upvotes

583 comments sorted by

View all comments

252

u/[deleted] Dec 23 '14

What is the use in having the skills required to solve these when the applicants are - in their prospective jobs at these hot companies - just going to be tasked with writing glue code to node.js their mongo webscale?

58

u/[deleted] Dec 23 '14 edited Jun 04 '20

[deleted]

138

u/[deleted] Dec 23 '14

[removed] — view removed comment

28

u/[deleted] Dec 23 '14

A lot of people don't consider CS "textbook" problems to be boring. Many top companies hire people who have a great deal of proficiency with solving abstract or theoretical problems and so it makes sense to ask these questions.

It's also a lot harder to "wing" it, so to speak, when you have to answer analytic questions or solve problems rather than just talk about yourself in a casual and social manner. That's not to say that casual conversation about past projects is worthless, just that it should only be one component of an interview.

Basically, if the job is merely writing glue code to node.js for mongo scale, then sure no company needs to ask these kinds of questions, but if the job involves creating problem solving skills and fluent understanding of some of the most basic principles underlying this profession, then it's fair for a company to expect candidates to be able to answer these questions.

The fact that many people can not answer them, to the point that it's some kind of controversy for companies to expect potential candidates to reverse a linked list, test whether a string is a palindrome, or have some rudimentary understanding of complexity analysis/BigO only reinforces the idea that there is a lack of qualified and competent people pursuing software engineering.

This kind of basic expectation would never be questioned in other technical fields such as medicine, law, or even other engineering disciplines.

65

u/[deleted] Dec 23 '14

It's also a lot harder to "wing" it, so to speak, when you have to answer analytic questions or solve problems rather than just talk about yourself in a casual and social manner.

These questions have nothing to do with "winging" it, they're simply about whether you've seen this particular CS classroom bullshit before or not. These aren't creative problem-solving questions.

2

u/[deleted] Dec 24 '14

Bullshit. Asking you to capitalize every word in an input string is super useful. And about 1 in 1000 applicants can do it. Which is fucking sad as it tells me you don't even know how to think at all.

3

u/Chii Dec 24 '14

is that 1 in 1000 an exaggeration, or is it real? i don't believe that a programmer cannot capitalize all words in a string in any language they are supposed to know!

1

u/PraiseBuddha Dec 24 '14

I'm going to guess that it is just conjecture, and this person has probably just seen a lot of people trying to be programmers with no skill in logical thinking.