Earlier quoted context omitted.
This is what you get when you commoditise Computer Science. The article is about coding interviews and then goes on to deliver a lecture about "Computer science in plain English". Isn't it common knowledge that Computer Science and coding are like chalk and cheese? People used to study DataStructures for a whole semester to get a deep understanding of how these work, and the time/space complexities affect system desi…
It isn't science, or engineering, because many of the things that count in computing defy measurement : - code quality - software productivity - expected time between failure - tolerance to error - expected life in field - usefulness to users Because the science and engineering cultures of computing have failed to address these effectively, or even create cultural norms that support their development, a craft culture…
Data Structures for Coding Interviews
201–210 of 238 posts
Re: Data Structures for Coding Interviews
#202Earlier quoted context omitted.
Usually, any "(X) for Interviews" post is a review of things that in theory a programmer learns very early on and then forgets due to disuse (since most programming interviews are essentially pop quizzes on such things). The ironic thing is that this biases toward the most newly-minted programmer; actual experienced working programmers rarely need to implement basic data structures or their relevant algorithms from s…
It should be mandatory for programmers to be able to concoct even bad examples of a sort algorithm in real time and create data structures for anything from a linked list to binary trees. It is also important to have candidate code samples for an interview with dissection and analysis by the candidate. This is to understand where the programmer is in their professional development, how much is copy-paste and how much…
Re: Data Structures for Coding Interviews
#203Earlier quoted context omitted.
To be honest, your comment doesn't make you seem like you're someone who actually knows anything about or is particularly good at coding -- rather, it makes you seem like someone desperate not to have to compete with a larger field of candidates, and grasping for any reason you can find to claim they shouldn't be allowed to try for the same jobs as you. Also, I'm quite sure someone could easily come up with comments…
I didn't think their comment was arrogant. When I saw "Data Structures" for interviews, I didn't think it would be explaining binary to us.
I got an impression who their target audience is, based on the examples used, drinking kombucha and listening to Spotify.
All the young, beautiful people who wouldn't have ever taken a computer science course if it weren't such a lucrative industry to be in right now.
Maybe with this guide they can pass an interview at a big company where they just twiddle with bits all day. I won't be holding my breath until they can produce something useful.
You don't see any arrogance here? All it needed was an avocado-toast reference to be indistinguishable from a "why millennials are terrible and my generation is much better than them" thinkpiece.
Re: Data Structures for Coding Interviews
#204Earlier quoted context omitted.
> I could have answered the question easily but what for? To show that you're not a complete diva who's willing to put in some work even if it's unpleasant? The question I ask is not real, either. It's entirely contrived. But I ask it because it's the best way I know to identify candidates who: 1. Can think critically about a data structure. 2. Can communicate with me about how to solve non-trivial problems. 3. Can t…
I always wonder about genius developers who throw fit when someone asks them to implement linked list (the actual chapter in the linked article). I understand the complaint when people get asked to balance red black trees out of nowhere or something else more complicated, but this article is very basic. Yeah, this can be memorized pretty easily, but "lets talk about how passionate you are" which is invariably suggest…
You ask me to do a linked list--in 2017--and I'll have to start determining whether that smell is "Not Invented Here" or "Cargo Cult". How many languages don't have such lists as part of their standard libraries now (or at least part of a common libre-license or gratis-license library)?
But no... I'll just continue to answer the question as though my CS prof is grading me on it, and just convert my concerns into salary expectations for the negotiations phase. Any company that asks such questions is obviously bad at gauging real technical skill, therefore I should ask for way more money than I think I am worth, and invest all of my limited acting skill into believing that number. They are relying on me to tell them how good I am, so I will game the system, cram for their stupid questions, and tell them I am the absolute best.
Then I can spend all my working hours copy-pasting the answers to already-solved problems from the Internet.
The real genius developers are spending their free time helping lesser developers on Stack Exchange/Overflow for free, because the companies that hired them have no idea how to make use of that level of expertise, and that's the only way they ever get to encounter any fun or interesting problems to solve.
Re: Data Structures for Coding Interviews
#205Earlier quoted context omitted.
Artizans, not artists. But I agree with your point, failure to understand hashtables is like failure to understand the secret nail in carpentry (I choose this as I've never understood the secret nail in carpentry and therefore do not count myself much of a carpenter). We shouldn't delude ourselves, software (at the moment) is a craft discipline and craft disciplines can have huge blind spots. Comp-sci needs to spend…
My bad, I misinterpreted your comment. I second the artisanal mindset that you have elaborated, and it will be better for everyone if we adopt the craftmans mindset (Which Cal Newport also talks about). I personally feel that we should model Software Engineering like the Apprenticeship model in Germany. It would be interesting to see how it fares.
... I feel like our discipline suffers from a lot of the same problems. IBM mainframe experience doesn't translate into knowing the intricacies of React, but it does provide wisdom on systems and usability problems people coding in React are going to run into too.
Glorify the new, but be informed by that which came before. Otherwise doom, repeating, etc.
Re: Data Structures for Coding Interviews
#206I got an impression who their target audience is, based on the examples used, drinking kombucha and listening to Spotify. All the young, beautiful people who wouldn't have ever taken a computer science course if it weren't such a lucrative industry to be in right now. Maybe with this guide they can pass an interview at a big company where they just twiddle with bits all day. I won't be holding my breath until they ca…
Blame the young, beautiful people all you want for not slaving away over a 4 year degree that puts them in the same position as 1 year of self learning would get them, OR blame the business yuppies who keep coming up with the SaaS business models that don't need anything more than plug and play code monkeys. I understand memorizing data structures does not make a good engineer, but honestly who is still asking for cr…
That's not to say one year of self learning won't prepare you for a lot of programming jobs, or that the person with the four year degree won't be starting at one of those same jobs. But there are a lot of types of software I would only want someone with a real CS degree writing.
(Of course, 1 year of self learning, plus 3 to 4 years of real world coding plus further supplemental self study, could very well get you to the same level as a CS grad's knowledge, or beyond.)
Re: Data Structures for Coding Interviews
#207Earlier quoted context omitted.
Most "senior developers" I know don't know much about data structures. Standards are pretty low in the industry. One reason might be that optimizing for memory consumption or handling "large scale data" almost never happens in practice.
I never had a software development job where optimizing memory consumption and handling large scale data (for whatever definition of large was for that particular system) wasn't a necessity. It was also useful to know when these measures were and weren't needed depending on the context in the system. I do mostly what's called "systems programming" and did embedded previously but also did some work on "normal" softwar…
I personally don't agree with this reasoning, but that's how businesses operate.
Re: Data Structures for Coding Interviews
#208Earlier quoted context omitted.
You'd really be fine hiring a senior developer that had no idea how a linked list, a hash table or a binary tree worked? Understanding which data structures are good for speed and memory usage is at a minimum required for memory constrained apps and dealing with large scale data.
Yes,I'd be fine with it as long as they could read and understand a table of data specifying the time and space complexity of various data structures and algorithms. The amount of programming done in memory constrained apps and for large scale data is tiny in comparison to all programming, most of which is very basic CRUD type work meant for use in resource rich environments at small scale.
Thus, the other article on the front page about the staggering space requirements for phone apps.
Re: Data Structures for Coding Interviews
#209Earlier quoted context omitted.
> why would I want to hire you over someone who has seen a computer before? Because, you know, they invented Ruby on Rails and Homebrew? Incredible, really. You were so adamant on being hostile that you managed to put yourself over Max Howell and DHH in a couple of sentences. These people have made valuable contributions to the tech industry as it stands today. This is a fact and not an opinion. They invented Homebre…
> Except he created the most popular package manager in OSX history and companies still can't see that. First, Homebrew is just a rehash of package managers that were available on unices for more than a decade. Then, from what I hear, Homebrew was (still is?) badly designed and implemented for quite a long time, which is not an evidence of author's high skills (as a programmer, anyway).
Re: Data Structures for Coding Interviews
#210I got an impression who their target audience is, based on the examples used, drinking kombucha and listening to Spotify. All the young, beautiful people who wouldn't have ever taken a computer science course if it weren't such a lucrative industry to be in right now. Maybe with this guide they can pass an interview at a big company where they just twiddle with bits all day. I won't be holding my breath until they ca…