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
Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!

tef posted:

Ask them for their github/bitbucket repo, with example code in it.
This is a terrible idea because it filters out lots of really good developers. Why not just ask some basic programming questions on the phone? Works for us.

Adbot
ADBOT LOVES YOU

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!
It really depends what the job description is. Where I work, we've interviewed a slew of people who have dabbled in this and that, have resumes with 100 languages and frameworks, etc etc, but when it comes down to it they can't actually write multiple classes that interact with each other. I'm sure they can write hacks and scripts and little programs that do neat things, but that's not what we want, and it's not what a lot of companies want. Then again, there are places that thrive on stuff like that, so yeah, different skill sets, different jobs.

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!

tef posted:

And people say i'm an arrogant git on the forums :v: These things are not mutually exclusive. I'm sorry some people are good at their job and also get to experiment with things :3:
Were you suggesting what I wrote sounded arrogant? Because I don't see how saying "some people are good at A, and some people are good at B, right now we need A" is arrogant.

Also I never said those things were mutually exclusive, so I'm not sure where you're getting that either.

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!

tef posted:

I guess I was reading the mutually exclusive bit from where you said "we've interviewed a slew of people who have dabbled in this and that, [....] but when it comes down to it they can't actually write multiple classes that interact with each other".
We've interviewed people who can do one, the other, neither, or both. But for some reason we get the types I mentioned earlier most often. I'm not saying they're mutually exclusive though.

Wizbang posted:

...and it's almost as bad to be overdressed as underdressed, right?
It's quite difficult to overdress in a scenario where the default is to wear a suit. Wear a suit, unless someone can correct me on some regional thing for that area.

Orzo fucked around with this message at 04:02 on May 18, 2011

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!
Every single person I've interviewed at my current job has worn a suit, young or old. For reference, Chicago loop, banking software company. Clearly based on what you guys are saying, it varies from region to region.

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!
That's vastly different than 'a bank', which is what you said originally. And it's not just 'banking' this applies to, but anything in the financial industry.

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!
Either you're trolling or you're really out of touch with reality.

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!

Belgarath posted:

and finding the largest set of words which has the longest anagram of all the words in the file
Can you elaborate on what exactly this means? I'm not parsing it correctly I guess

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!
We don't get too many horror stories since we have a decent phone screen, but one of the post-phone-screen stories is memorable.

After a candidate passes a phone screen, we send them a simple programming test where they can show their style and demonstrate that they can actually program (if they pass, we ask them to make modifications to it during the in-person interview, which filters out cheaters). The problem involves a simulation at a store where a list of customers arriving at various cash registers, each at time X and with N items, is provided and the output needs to be how much time the entire process takes, more or less. This is usually in C# but they can use any language they want.

One candidate, instead of writing the typical while loop which ticks one time unit per loop, actually used a Winforms Timer component and ran the application, with the tick event running the process. His solution was also wrong.

Oh, one more thing. Sometimes on the phone screen I ask candidates with CS degrees to give examples of two sorting algorithms and describe how fast they are. I swear, about 50% of the time, the candidate says 'binary sort'. Why do people keep giving this answer?

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!

dazjw posted:

I'm looking for problem sets / practice questions for a slightly non-newbie programmer; I'm through to a final round with a notoriously difficult company, for a non-junior position, and I've got about a week to cram more stuff into my brain. I'm already fine with data structures, algorithms, big-O, all that junk, I just need to practice coming up with solutions to problems. Especially if dynamic programming is called for but the problem is not just another knapsack/edit distance problem. Anyone know a good set? Facebook puzzles seem pretty good, I guess, but they're mostly pretty easy to reduce down to "problem I've seen before except then it was called graph partitioning/knapsack/whatever".
Are you doing topcoder problems?

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!
Wear a suit, usually an interviewer can tell if you're not dressed properly by the tone of your voice.

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!

Mike1o1 posted:

Should I read up on that stuff, or focus on some of the more basic framework stuff like the different collections, delegates, etc.

It sounds like a great position, but I don't want to screw it up because of lack of formal education.
If they know what they're doing, it should be on that stuff. It sounds like you know the language but you're not 100% on all areas of the .NET framework. Knowing how to actually code is 100 times more important IMO, but you might want to make some little apps to learn how to:

* perform basic stream I/O (FileStream, TextWriter, etc)
* do something with XML, say load a document and find a node with XPath (it should only take a few minutes)
* know your collections, although it sounds like you already do. You really need to understand List<T>, IEnumerable<T>, and you should probably know how Dictionary<K, V> works. Try using some of the IEnumerable<T> LINQ extension methods, they are very intuitive and very useful, and know how to use lambdas.

I'm sure others can add some stuff, but you are probably already ahead of the curve.

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!
If they restrict Singleton, use Doubleton.

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!

Otto Skorzeny posted:

If you can, give condescending nicknames to whatever patterns are mentioned, eg. if they ask you about Strategy say "oh you mean passing a function pointer?" or if they ask about Visitor say "did you mean: map()?"
Strategy doesn't mean passing a function pointer, that's just one way to implement it, so no, don't do this :)

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!

Cicero posted:

Some software engineers from Google visited my school for a recruiting session, and straight up said that putting certs on your resume would pretty much disqualify you automatically from the running.
That's pretty obnoxious and highly impractical, I know some good developers with certifications on their resume. Some companies really like them, some don't give a gently caress--but nobody should be penalized for having them.

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!
Check out "The algorithm design manual." It's good to understand data structures and algorithms and that book isn't too stuffy or boring.

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!

Meliv posted:

Got my first ever job interview tomorrow at a sports good company, maintaining and updating their website. Just wondered what you guys think of trying to be funny in the interview? I don't mean strutting into the room being all goofy but just trying to keep the atmosphere light so they think I'm confident and could be easy to work/get along with? Or is it to my advantage to keep is stoic and professional?
Depends on the type of people of course, try to get a reading on them before making any decisions. And even then, best to be somewhere in the middle. Professional is good, stoic not so much, unless they seems stoic themselves.

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!
Also TopCoder. Annoying interface but you'll never run out of problems there.

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!
I would not trust a company that is underpaying developers to be loyal if something goes bad. If they aren't paying competitively, leave.

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!

Otto Skorzeny posted:

Yeah, if you're being paid significantly below market in circumstances other than "i'm an intern lol" (and even then, programmer intern pay anywhere respectable >> blue collar pay) you're probably best off not even asking for a raise under any guise. Interview elsewhere and hand in your two weeks notice when you have signed a contract elsewhere. Dismiss any talk of counter offers out of hand, it's never* in your interest to take one.
You have a * next to 'never', did you intend on adding a footnote?

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!
I don't see how you can say 'never in your interest' when a significant raise could definitely be in one's interest. Personally I wouldn't let that influence me, since I am comfortable, but if someone was struggling with money for some reason (and there are plenty) a counter-offer might be just what they needed.

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!
...or they just want a few months off. There's nothing wrong with taking time off for personal reasons, travel, leisure, etc. You don't need to be 'retarded' to want to have a summer off after working hard for a few years.

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!
That argument is wrong in so many ways, I don't even know where to start. I could just as easily call you out for not working 2 jobs right now. LOL, you're trying to tell me you don't work nights? Okay, you're literally throwing away millions of dollars. Who cares about personal happiness or sanity?

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!

baquerd posted:

and if you think saving enough for retirement is easy you're making at least mid six figures all by yourself.
This is complete bullshit if by 'mid six figures' you mean ~500k. Families with a combined income of less than 100k are able to do fine saving for retirement. So a couple that brings in, say, 180, is going to have a hard time retiring if they take 3 months off?

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!
Okay, I have a question about a really bizarre phenomenon I've come across when giving interviews. One of the questions we use to ease into CS topics is to ask the candidate to describe a few sorting algorithms that they're familiar with, and then depending on what they say we go from there. Anyway, some ridiculous number like 6 of the last 10 candidates have said 'binary sort.' What the gently caress. That isn't even a thing, or if it is, it's almost certainly not what they meant. Why does everyone keep saying this?

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!
Yes, that is what I always figured, but even so, the sheer number of people who say 'binary sort' is baffling. I was just wondering if anyone else has run into this.

baquerd posted:

Ask them to describe it and see what you get. Maybe a tree sort.
Doubtful considering how the rest of these interviews go. It's almost certainly a binary search reference.

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!
I'm waiting for the candidate that says quantum bogosort. That's a hire.

Wait is this the LC thread

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!
Yes, we only ask that question to people with CS backgrounds. Basically it's a one of a few questions to prove that you actually have a CS background. You don't need to know the implementation details, but you should be able to name either quicksort or mergesort as a fast algorithm and bubble sort as a slow algorithm. I agree that knowing the actual implementation doesn't really say much about the candidate, although I'm not going to lie, mentally I'd count it for bonus points.

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!

Eggnogium posted:

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.
I wouldn't expect anyone who has had a real job for a number of years to remember that. If they were straight out of school, maybe.

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!

shrughes posted:

There are, however, real jobs where you do need to be familiar with that kind of stuff in your day-to-day work.
Uh, I know that, but that has no bearing on what I said. The point remains that I wouldn't expect anyone by default to remember.

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?

Edit: Of course there are plenty of good developers who don't know this who majored in physics or whatever.
First of all, the topic was whether the knew the difference between
merge sort and quicksort, not just to be able to name them as O(n lg n) algorithms. Although I personally love data structures and algorithms and could rattle that stuff off despite rarely using any of it for 6 years, there is a lot more to working in the software industry than remembering sorting algorithms, like how to write good code.

Also can you not reply to single posts twice? There is an 'edit' button, you know.

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!

tef posted:

business logic is not really amenable to algorithmic analysis, it shouldn't be that surprising
Agreed, and I'd say this is basically the difference between software engineering and computer science respectively.

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!
Google will also test your algorithms but that doesn't mean you'll actually be using algorithms there at your job. I know a number of people that work there that says despite having to solve algorithm problems at the interview, they haven't ever used their algorithm skills on the job.

Of course I'm sure there's some people here that work at Google that could chime in that might have different experiences, I'm just relaying what I've heard.

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!

Otto Skorzeny posted:

Few people who call themselves software engineers have any engineering background, schooling or experience, and for the most part any they do have is ad-hoc.
Sources? This sounds like something you just made up.

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!
That guy is a goon if I recall correctly.

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!

it is posted:

Yesterday, I applied for an internship at a company I hadn't heard of, but whose products I've seen (in other words, I'm pretty sure they're not a fake company or anything). Within 5 hours, I got an email saying that they wanted to set up a phone interview, so I'm interviewing tomorrow, less than 48 hours they received my resume. I'm in a large, tech-industry-heavy city with a school with a top CS program, so they shouldn't be having any issues finding qualified candidates. Should this be raising any red flags? Like, should I be reading this as "they love me and really want to make sure I'm not too good to be true" or should I be reading this as "they've scared away so many applicants that they respond really really quickly to everyone?"
Resumes don't really take more than a couple minutes to read, you're thinking way too much into it. It isn't a red flag at all, maybe you just hit a lucky time where some dude needed a break from his work and decided to look at some resumes.

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!
To be fair your 'check if binary tree is binary search tree' is a really really common interview question that you can find on a bunch of those sites that list technical interview questions. Might as well ask them to find the loop in a linked list using O(1) memory.

One interview question I like to ask is any modification of this problem from Project Euler. They should be able to code the naive, slow version by writing a recursive algorithm, and then if they can't figure out a faster way you can sort of prod them a bit until they get the dynamic programming solution.

Orzo fucked around with this message at 05:40 on Sep 13, 2011

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!

shrughes posted:

Hmm, I didn't know that. We only use it as a warm-up question.
What are some of your other questions, if you're allowed to disclose? I'm always looking for some good ones to add to our repertoire.

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!
where do you work?

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!

qntm posted:

I would also like to know what this is supposed to mean.
Honestly it sounds like some kind of flowenol (forums user) joke, no clue.

Adbot
ADBOT LOVES YOU

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!

shrughes posted:

Now do it in O(n log n) time.
Just taking a few minutes thinking about this one, wondering if I'm on the right track...

My solution so far involves sorting a list of 'events' from top to bottom, where each event occurs when a rectangle begins (top edge) or ends (bottom edge). Then there's a linear sweep where edges are maintained in some sort of data structure such that the 'current union length' can be calculated in lg n time, multiply that length by the height distance between the current event and the next event for the union area of that slice.

Of course the hard part seems to be figuring out what data structure to use such that it isn't an O(n^2) problem, like when all N rectangles overlap. Is this the right approach?

edit: lg n, not lg in

Orzo fucked around with this message at 18:54 on Sep 13, 2011

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