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.
 
  • Locked thread
Luigi Thirty
Apr 30, 2006

Emergency confection port.

is this where I post about Awful using 1.5gb of space on my phone

Adbot
ADBOT LOVES YOU

AWWNAW
Dec 30, 2008

these are the trials and tribulations one must overcome to earn an average computer man salary at Amazon dot com

FamDav
Mar 29, 2008

Bloody posted:

like i mean this is probably a great test if your day-to-day work is going to be string janitoring but if it is then loving l m a o get a real job

i dunno man what would you rather the test be for "can you take a straightforward problem and write something reasonable in an hour".

my previous job made every candidate implement a boggle solver and then perform a search for high scoring boggle boards.this was to come on site. when on site, most of the technical competency questions would be variations on the skyline problem, fisher-yates, selecting an element uniformly from a stream of unknown length, implement right/left shift in an array, etc. etc.

this was great and all for hiring people who knew how to do this kind of thing but in practice it selected for very good thinkers (or really enjoyed learning algo's stuff on their own time) who were not very good software engineers.

MrMoo
Sep 14, 2000

You can find software I have developed in many different stock exchanges, banks, and large companies from IBM, NYSE, to Telstra, Levis, and the BBC; I get paid six figures and work in a large office with a nice view of Times Square. I have failed every single developer interview I have ever taken.

Share Bear
Apr 27, 2004

im never gonna get a programming job i guess

Share Bear
Apr 27, 2004

like i'm gonna take those home for the weekend and see if i can figure out an answer without searching google or anything from my present frame of knowledge, but i definitely cannot solve either in a reasonably quick amount of time

Luigi Thirty
Apr 30, 2006

Emergency confection port.

same

AWWNAW
Dec 30, 2008

Share Bear posted:

im never gonna get a programming job i guess

there are lots of programming jobs you can get without having to cram this poo poo and they pay almost as well

Share Bear
Apr 27, 2004

AWWNAW posted:

there are lots of programming jobs you can get without having to cram this poo poo and they pay almost as well

i think all the jobs are this and they just put that in front to deter people

Share Bear fucked around with this message at 21:40 on Oct 31, 2014

Forums Terrorist
Dec 8, 2011

uncurable mlady posted:

lol

reminder, death to all hr people

i'll admit as a terrible programmer this makes me feel better because i'm much better at bullshitting than programming

Luigi Thirty
Apr 30, 2006

Emergency confection port.

I've had 1 (one) interview and it consisted of the guy asking me a bunch of basic questions about how the language worked and then they called me back saying they suddenly don't have time to train anyone now so they're not hiring anymore

of course my resume consists of Internet spaceships, internet hats and my 4 years of retail CJing so

Cocoa Crispies
Jul 20, 2001

Vehicular Manslaughter!

Pillbug

AWWNAW posted:

there are lots of programming jobs you can get without having to cram this poo poo and they pay almost as well

my last external interview i showed off some open-source and talked about common software design (i.e. gracefully upgrading password storage algorithms, database normalization and denormalization) and i got the job

my last internal interview i got grilled about distributed system stuff like: what if you're a client that knows about several nodes of a cluster and you need to know how to pick one to talk to: what happens when that node goes down, or is flaky, or once you've de-prioritized that node what do you do when other nodes get lovely? when should you put formerly lovely nodes into rotation? when should you give up entirely? what happens if there's a shitload of clients dealing with the same issue and are configured identically? (i name-dropped thundering herd for that one)

i didn't have good answers and after i got the job i found out that the people interviewing me didn't either!

FamDav
Mar 29, 2008

Share Bear posted:

like i'm gonna take those home for the weekend and see if i can figure out an answer without searching google or anything from my present frame of knowledge, but i definitely cannot solve either in a reasonably quick amount of time

so a few things. for the first question i'd expect a single answer in like 40ish minutes. for the second question i'd expect to get through the first 4 rules in the same amount of time, but we'd also have a chat about the other topics.

also i think no hints or help is stupid and means that the interview will be a complete waste of both people's time if the interviewer refuses to help the candidate out. if somebody is completely blocked on how to start implementing something, and if i give them a nudge and then they go 90% of the way, who cares? if you can explain something and then the candidate is like "oh ok i got this" and they turn that thing they just learned into code, that is super awesome.

FamDav
Mar 29, 2008

Cocoa Crispies posted:

i didn't have good answers and after i got the job i found out that the people interviewing me didn't either!

true for most every question.

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome
the best form of interview I've heard of is "come work at our company for 2-3 days. We'll pay you at standard contractor rates. we'll give you our decision at the end of the third day.". that was a friend who went through it and he said it was awesome as hell and I gotta agree, that would own.

the best form of interview I've given is just an abbreviated form of that where the guy pair programs with me for 4 hours just doin whatever poo poo I was gonna do that day.

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome
like, just find a problem you faced and ask them how they'd fix it. talk to em. watch em write the codes. you ain't gotta make up some weird rear end nerd problem to solve, just talk about the poo poo you, you know, the poo poo you actually do.

BONGHITZ
Jan 1, 1970

MrMoo posted:

You can find software I have developed in many different stock exchanges, banks, and large companies from IBM, NYSE, to Telstra, Levis, and the BBC; I get paid six figures and work in a large office with a nice view of Times Square. I have failed every single developer interview I have ever taken.

but how many confirmed kills do you have?

Share Bear
Apr 27, 2004

ill report back on monday with a CoC level post about how i'd solve the first one, second one would take about the same amount of time

MrMoo
Sep 14, 2000

rotor posted:

like, just find a problem you faced and ask them how they'd fix it. talk to em. watch em write the codes. you ain't gotta make up some weird rear end nerd problem to solve, just talk about the poo poo you, you know, the poo poo you actually do.

I like this: the majority of my Google interviews were like this, then they pulled out some retarded poo poo about path routing on the moon or capacity planning of a log server that received all of 100 entries a second.

BONGHITZ posted:

but how many confirmed kills do you have?

A lot of people think I work with the Chinese mafia :ssh: That's the excuse on why I was rejected on a recent co-op board approval, you can't make this poo poo up.

Bloody
Mar 3, 2013

rotor posted:

the best form of interview I've heard of is "come work at our company for 2-3 days. We'll pay you at standard contractor rates. we'll give you our decision at the end of the third day.". that was a friend who went through it and he said it was awesome as hell and I gotta agree, that would own.

the best form of interview I've given is just an abbreviated form of that where the guy pair programs with me for 4 hours just doin whatever poo poo I was gonna do that day.

i had an interview like the latter w/ a financial software consulting co, it really owned. spent like an hour getting a crash course in the financial basics to understand the case study, was presented with a real problem the company solved for a customer, was told "it took a team of us a month to properly solve this, we dont expect you to come up with a finished solution" then spent ~an hour leading a design meeting on the problem, gave a design review, spent ~2 hours independently coding my solution in the language of my choice with whatever resources i wanted (including just asking other employees whatever i wanted), then finished with a code review. it owned

they made me an offer but it was lmao low

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

FamDav posted:

for coding competency i like these two questions:

1) you're given a set containing a dictionary of words, starting word, and an ending word. provide me a word ladder from the starting word to the ending word.

a word ladder in this case is a a sequence of words that transforms the starting word into the ending word by only changing one character at a time. for example, if start is head and end is tail

head
heal
teal
tell
tall
tail

if they do one method of solving this quickly, i ask them if they can come up with another. if they use a queue, do it with recursion; recursion, use queue. if they do both, talk about how to make the queue version faster (2-sided bfs, a*).

2) implement a basic regular expression handler. you should be able to handle regular expressions that match combinations of the following rules. assume all regular expressions passed are well formed and all strings passed contain 0 or more literals.

- a literal (a-zA-Z0-9)
- a literal followed by a *, that takes 0 or more instances of the literal
- a literal followed by a +, that takes 1 or more instances of the literal
- a literal followed by a | followed by another literal, indicating that one of the two literals must match.
- a [ followed by a sequence of literals followed by ], indicating a set of literals that can be matched. should be treated as a literal for all other operators. a []-set cannot be inside another []-set.

i give out the first two rules and then add on as time permits. I like to ask about test cases, see what they think about how * and + should work, see how they handle refactoring for the the new rules, and also talk about what kind of bugs would occur if the regular expressions werent well-formed.


are these good or bad questions rotor i need your validation :(

lol who the gently caress would want to work for a company that tries to play "stump the applicant" like this

Notorious b.s.d.
Jan 25, 2003

by Reene

FamDav posted:

this was great and all for hiring people who knew how to do this kind of thing but in practice it selected for very good thinkers (or really enjoyed learning algo's stuff on their own time) who were not very good software engineers.

this is exactly the opposite of the person i want to work with

write n**2 nested loops all day, i don't give a gently caress. i work on ordinary business applications, shoveling CRUD in and out. your lovely algorithm isn't gonna be the most expensive mistake we make that week

gathering requirements effectively, writing clear documentation, and testing code adequately are all individually much more important than your algorithmic prowess

AWWNAW
Dec 30, 2008

no you see they have very hard problems to solve like clustering types of lube to recommend after you order a butt plug and the mannequin DVD

Luigi Thirty
Apr 30, 2006

Emergency confection port.

AWWNAW posted:

no you see they have very hard problems to solve like clustering types of lube to recommend after you order a butt plug and the mannequin DVD

ah yes, the Oiler method

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

Notorious b.s.d. posted:

this is exactly the opposite of the person i want to work with

write n**2 nested loops all day, i don't give a gently caress. i work on ordinary business applications, shoveling CRUD in and out. your lovely algorithm isn't gonna be the most expensive mistake we make that week

gathering requirements effectively, writing clear documentation, and testing code adequately are all individually much more important than your algorithmic prowess

i would much rather hire someone who has an eye for detail and can speak clearly and concisely than someone who can solve toy problems

Corla Plankun
May 8, 2007

improve the lives of everyone
i have botched so many interviews because i trained myself not to rush in college and programming interviews are all about rushrushrush for some reason

Bloody
Mar 3, 2013

Luigi Thirty posted:

ah yes, the Oiler method

Fuck them
Jan 21, 2011

and their bullshit
:yotj:

rotor posted:

the best form of interview I've given is just an abbreviated form of that where the guy pair programs with me for 4 hours just doin whatever poo poo I was gonna do that day.

If I ever get to the point I interview others and have any leeway in how I do it, I'm going to do this, because this is A Good Idea.

tef
May 30, 2004

-> some l-system crap ->

quote:

2) implement a basic regular expression handler. you should be able to handle regular expressions that match combinations of the following rules. assume all regular expressions passed are well formed and all strings passed contain 0 or more literals.

- a literal (a-zA-Z0-9)
- a literal followed by a *, that takes 0 or more instances of the literal
- a literal followed by a +, that takes 1 or more instances of the literal
- a literal followed by a | followed by another literal, indicating that one of the two literals must match.
- a [ followed by a sequence of literals followed by ], indicating a set of literals that can be matched. should be treated as a literal for all other operators. a []-set cannot be inside another []-set.


rx(Pat, Str) :- atom_chars(Pat, P), atom_chars(Str, S), match(P,S,[]).

match([], T, T).
match([C,'*'|T], S, O) :- !, ( S = [C|St], match([C,'*'|T],St,O); match(T,S,O)).
match([C,'+'|T], S, O) :- !, S = [C|St], match([C, '*'|T],St, O).
match(['['|T], S, O) :- !, match_any([], T, S, O).
match([L|T], [L|S], O) :- match(T,S,O).

match_any(A, [']'|T], [C|S],O) :-!, \+ A = [], member(C, A), match(T,S,O).
match_any(A, [C|T], S, O) :- !, match_any([C|A], T, S, O).


edit: misread the problem and unsure how limited in scope this is, i.e would [foo]* match, and forgot | too :v:

tef fucked around with this message at 00:21 on Nov 1, 2014

hobbesmaster
Jan 28, 2008

eh 4 hours is way too long

Bloody
Mar 3, 2013

man sed

Bloody
Mar 3, 2013

using System.Text.RegularExpressions;

Bloody
Mar 3, 2013

import java.util.regex;

Bloody
Mar 3, 2013

#include <regex>

hobbesmaster
Jan 28, 2008


seriously

like there was that Amazon interviews post where one of the problems was "how do you find and change phone numbers at the bottom of every webpage?"
correct answer: "uh, grep"

Bloody
Mar 3, 2013

reimplementing basic functionality of std libraries or os utilities is a massive red flag that you're being interviewed by plangers

hobbesmaster
Jan 28, 2008

I want to smack whoever popularize the pointer swap w/o a temporary trick question

Bloody
Mar 3, 2013

hobbesmaster posted:

I want to smack whoever popularize the pointer swap w/o a temporary trick question

is that the one where you do like a = a ^ b; b = b ^ a; a = a ^ b; or whatever the gently caress? i got that one in an interview once and i was like "well yeah you could do it without a temp var but theres literally no good reason" and the interviewers loved it

then i failed to explain how to analyze big O complexity of an algorithm well and basically said no answer to a question about networks/distributed systems :v:

they spent the next two months emailing me nagging me to show them code that id written and i was like "lol i only work on closed-source software because my employers software is proprietary" and they eventually left me alone

hobbesmaster
Jan 28, 2008

i guess xor swappers don't trust their compilers or something

Adbot
ADBOT LOVES YOU

Bloody
Mar 3, 2013

1 weird trick to save... a register*


*maybe

  • Locked thread