Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Eggnogium
Jun 1, 2010

Never give an inch! Hnnnghhhhhh!
Sleepsort :colbert:

Adbot
ADBOT LOVES YOU

Eggnogium
Jun 1, 2010

Never give an inch! Hnnnghhhhhh!
I first saw Sleepsort as an interview question actually. It was given as an anonymous function with non-descriptive variable names and the interviewee had to say what it does and find the bugs in it.

I think a good question for gauging basic familiarity with sorting algorithms would be to ask what the primary difference is between Mergesort and Quicksort.

Eggnogium
Jun 1, 2010

Never give an inch! Hnnnghhhhhh!

pokeyman posted:

"Primary" seems like an odd qualifier to give there, as sometimes stability is most relevant while other times worst-case runtime would be.

But to describe a difference you have to address both those. That doesn't preclude the fact that either can be the most critical in different contexts.

Anyways, I should have qualified: I meant primary implementation difference, as in with Quicksort the actual comparisons and swaps are done on the way down the stack whereas with Mergesort they are done on the way up.

shrughes posted:

I'd consider it a severe mark against a person even after years away from school not to know what quick sort and merge sort are, if they had once known. It means they didn't find sorting algorithms interesting enough, or data structures and algorithms in general interesting enough, for them to remember anything about them. They're the quintessential O(n log n) sorting algorithms! If a person can't remember how they work, what can they remember? What a vector is? How to write foreach loop? How link list get insert? Do these people just have a table of knowledge mapping operations of the Java standard library to their big O running times?

I disagree that you can equate sorting algorithms with those other concepts. Vectors, loops, and linked lists are all pretty intuitive concepts once you have seen and used them. Not to mention it is much more important to understand their details for day-to-day programming than it is to remember the gooey details of Mergesort.

Eggnogium
Jun 1, 2010

Never give an inch! Hnnnghhhhhh!
I don't think it's an abuse of notation. When you say "This algorithm is O(f)" without any qualifiers you're just using some agreed upon defaults. First, you're talking about the running time of the algorithm rather and space or power consumption. Second, you're talking about the worst case running time over all possible inputs. If you want to talk about something else, like space complexity, average running time, or running time with high probability, then you should qualify it as such.

Eggnogium
Jun 1, 2010

Never give an inch! Hnnnghhhhhh!
I don't think the point is "Can you come up with and analyze algorithms cause that's what you'll be doing all day?" so much as "Are you a smart fucker who's comfortable enough with discrete logic and making machines do things to be able to adapt to whatever project we throw you into?"

Eggnogium
Jun 1, 2010

Never give an inch! Hnnnghhhhhh!
Asking a candidate to write-syntactically correct code with formatted output and file I/O and then read it back to you over the phone has to be the dumbest idea I've ever heard.

Eggnogium
Jun 1, 2010

Never give an inch! Hnnnghhhhhh!
Even funnier because the gist of the scripting section is "Why would you do this in a needlessly inefficient way when there are already tools to ease the process?"

Uh...

Eggnogium
Jun 1, 2010

Never give an inch! Hnnnghhhhhh!

Ithaqua posted:

He also predicts which candidates will be inferior based on their preference of text editor. :waycool:

Haha, yeah, just got to that part.

"Little nublet never heard of VIM??? :smug:"

Eggnogium
Jun 1, 2010

Never give an inch! Hnnnghhhhhh!
The only codebase I've worked in that was riddled with interfaces and heavily unit tested was also constantly full of integration bugs.

That said, it would be really handy if the BCL had interfaces for HTTP requests, event logs, other out-of-proc APIs because they are super handy for writing functional tests.

Eggnogium
Jun 1, 2010

Never give an inch! Hnnnghhhhhh!
Yeah, I've never met a single person who gloated about that, only the guy who regularly missed our 11 AM standup and sometimes was MIA for 24 hours at a time and thought that we were gloating when we asked him about it.

Eggnogium
Jun 1, 2010

Never give an inch! Hnnnghhhhhh!
I think y'all are deeply insecure about sleeping so late.

Eggnogium
Jun 1, 2010

Never give an inch! Hnnnghhhhhh!

ToxicSlurpee posted:

From my understanding a good QA person tests every path through the code, making sure that improper stuff throws the right exceptions and is handled properly. A good QA person documents bugs, test failures, and whatever in detail. A bad QA person only tests the happy paths and says things like "it crashed when I clicked on *thing.*"

For the most part, yes, but I've also experienced the bad QA person that was way too aggressive and could not conceptualize the idea that too much QA can be bad if it leads to slow and infrequent releases.

Eggnogium
Jun 1, 2010

Never give an inch! Hnnnghhhhhh!
It depends on your exact expectations but ideally they would also have some minor technical understanding about how web pages get served up, client-side vs server-side code, etc. Also familiarity with non-functional requirements like performance, accessibility, multi-lingual support. Understands the concepts of bug severity and priority.

Eggnogium
Jun 1, 2010

Never give an inch! Hnnnghhhhhh!

Doghouse posted:

I never had any success at all with recruiters. They almost never got me interviews, I think actually only once. And they often don't understand anything about software development, so I found it very frustrating to talk to them. Like seriously a lot of them don't even understand, on a basic level, the difference between, say, Java, Agile, and Unit Testing. Those are just three "skills" you should have.

Candidate is able to rapidly context switch between Node.js and Strong Architectural Design.

Adbot
ADBOT LOVES YOU

Eggnogium
Jun 1, 2010

Never give an inch! Hnnnghhhhhh!

Pollyanna posted:

I wonder if I will ever apply to a job when I'm 40 that asks for my college GPA. That poo poo cannot be sustainable.

I've never had a job explicitly ask for my GPA. Maybe when I applied for my summer internship? Can't remember back that far. I did have it on my resume until I had about 3-4 years of experience.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply