Live data from Hacker News

Python coding interview challenges

github.com

131–140 of 252 posts

Re: Python coding interview challenges

#131
post #68

I see these challenges as a great way for excellent experienced developers to weed out incompetent companies. I'm a kick-ass get-things-done full-stack web engineer. I've never had to deal with one of these sorts of problems in my day to day work; and if I did, I'd just find an existing, tested, stable library that already handled them. A company that needs someone to solve these sorts of problems doesn't want me on…

I was going to agree with you, 98% of my career has been "google for a library, then use or tweak". It's RARE we ever actually do anything "new". However there ARE companies that do, and every once in a while YOU may have to do something new. In those cases it's good to make sure you have a foundation to build on. I have 4 books in the "The art of computer programming" series on my desk. They've been more or less dec…

I tend to place engineers in one of two buckets-- those who make tools and those who use the tools. Most people fall into the latter bucket and can get by without hardcore CS knowledge.

Re: Python coding interview challenges

#132
post #68

Earlier quoted context omitted.

I was going to agree with you, 98% of my career has been "google for a library, then use or tweak". It's RARE we ever actually do anything "new". However there ARE companies that do, and every once in a while YOU may have to do something new. In those cases it's good to make sure you have a foundation to build on. I have 4 books in the "The art of computer programming" series on my desk. They've been more or less dec…

In that 2% of the cases where you have to come up with something new, I don't really think that knowing pretty much any of this would help. You are storing a lot of information that will probably never be used. On the other hand, knowing how to come up with the solution. Knowing where to ask, what books to read or what people to ask, seems like a more important skill.

If you don't know what is the difference between O(n) and O(n^2) and how to make a data structure that allows you to keep the data sorted in particular way, you can get by using ready-made things up to some point. When that point comes, your "where to ask" would be "take a course in algorithms design and data structures and/or read a fat and quite dense book". Which is a completely OK way to advance your knowledge - except that some employers may prefer to hire people that already did that, and not wait with the task at hand until they do.

Re: Python coding interview challenges

#133

I've been using Python (among others) at work close to 3 years now. I get these challenges and problems, however, I don't find the solutions here "pythonic". I guess it depends upon the job criteria, but the code here [1], for example, is not a great demonstration of _Python_ language skills. It is a good demonstration that the person knows Mathematics, but if someone is interviewing for a Python dev, it's not what t…

That was my reaction also. If a junior engineer asked me to review that code, I would ask them to refactor in a way that is more maintainable.

Re: Python coding interview challenges

#134
With this type of post I always read comments complaining why they should know those things for an interview. They are not necessary. It is like some more knowledge is going to harm them. I wish I would know more about everything. Sometimes the connection between knowledge and how to solve a problem are not clear when you learn that knowledge. Why is it important to know how is the syntactic structure of a sentence if I want to be a developer? Because you might end working with compilers or natural language processing and that knowledge is gold. But you simple don't know in advance, and you wont be able to discover how to solve a problem if you don't have knowledge about the solution in advance. And there are also different ways of solving problem, some better than other or with different trade offs which you only know if you are aware of other possible solutions.

Re: Python coding interview challenges

#135
The problem is how much do dev really need to use this in real code. why would interviewer test someone on function he can just use existing lib for. why not think about how he plan an application and how will he design a flow. much more important.

Re: Python coding interview challenges

#136

Earlier quoted context omitted.

That's really expensive for the team in terms of time investment for possibly no payoff. Someone has to make sure that a candidate that gets to that point has a good chance of being hired. That person is "your typical interviewer."

Your typical interviewer, if he or she does not have relevant knowledge is just as likely to throw out the baby with the bathwater as they are to select the right candidates. There is no reason not to have the team do the pre-selection. I know this is all terrible news for recruiters and HR people alike but really there is nobody better qualified to determine who they want to work with on a particular problem than th…

What do you do when tons of people apply for a position?

Re: Python coding interview challenges

#137

I see these challenges as a great way for excellent experienced developers to weed out incompetent companies. I'm a kick-ass get-things-done full-stack web engineer. I've never had to deal with one of these sorts of problems in my day to day work; and if I did, I'd just find an existing, tested, stable library that already handled them. A company that needs someone to solve these sorts of problems doesn't want me on…

I suffer greatly in coding interview questions. I'm not a kick-ass full-stack engineer but rather a research engineer. I code every day but usually it is proof-of-concept demonstrations so I lack formal education / guidance of many professional coders. I'll knock a take home assignment out of the park but I do envy people who are great coders.

Re: Python coding interview challenges

#138
post #18

Earlier quoted context omitted.

Exactly. I am pretty sure there is a (well tested) library out there to do those things.

At some jobs we make the libraries you use to solve those problems. These interview questions test very basic CS concepts and many of them are essentially just extremely watered down versions of real life problems. I can teach a dev how to Google for libraries, I can't teach him basic CS concepts. I would much rather hire for the latter. In fact this whole thread makes me uncomfortable. I wouldn't want to work with a…

Sure, but those jobs are few and far between. If you are indeed writing that sort of code, then it makes complete sense to test people on that, but the vast majority of jobs using this style of testing are not.

Re: Python coding interview challenges

#139

Earlier quoted context omitted.

If I need to convince another developer that a particular path is well-worn and that they are drifting towards NIH syndrome I have the benefit of time to develop an argument and resources with which to do so. I do not have 45 minutes, no resources, and just a whiteboard. To pre-counter an expected objection, if your company makes significant decisions like that in a single 45-minute (or any length, really) meeting yo…

> I have the benefit of time to develop an argument and resources with which to do so. One would assume so. That's not always the case in my experience. Improvisational discussion of design tradeoffs and costs happen a lot. YMMV, I guess. Though I agree that no-google, closed-book, no-IDE whiteboard development is very unnatural. > ...if your company makes significant decisions like that in a single 45-minute (or any…

> One would assume so. That's not always the case in my experience. Improvisational discussion of design tradeoffs and costs happen a lot. YMMV, I guess.

They certainly do, but significant, unchangeable decisions should not be made that way. If I think there is a better alternative to something expressed in one of these discussions, but do not have the details at hand to make the case, I will voice the alternative and compile the details later. Choices like that should not be made without documented rationale anyway.

> I'd agree with that, but design processes on the whole tend to more dysfunctional than organizations realize. There's still a lot stuff running on deprecated OSs, dead languages, and mountains of technical debt.

The solution is to fix the organizational dysfunction. Hiring to the dysfunction is a band-aid at best.

Post reply on HN