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
Cicero
Dec 17, 2003

Jumpjet, melta, jumpjet. Repeat for ten minutes or until victory is assured.
Twitter probably pays really well, I'd bet similar to Google or Facebook. Definitely don't worry about moving on from your current company. They'll live.

Adbot
ADBOT LOVES YOU

Vulture Culture
Jul 14, 2003

I was never enjoying it. I only eat it for the nutrients.

Cicero posted:

Definitely don't worry about moving on from your current company. They'll live.
And if they don't, were they a stable workplace to begin with? :shobon:

Dessert Rose
May 17, 2004

awoken in control of a lucid deep dream...

pr0zac posted:

I guarantee you unless you're applying for a specific position like Android developer, the programming interviews will be choose-your-own-language.

I interviewed someone last week who did my coding questions in Go.

As long as you can explain what your code is actually supposed to be doing, it doesn't matter what language you do it in.

Pollyanna
Mar 5, 2005

Milk's on them.


I'll brush back up on my Ruby skills, then. I've been in maintenance mode (read: Rails and Angular triage) for too long.

Vulture Culture posted:

And if they don't, were they a stable workplace to begin with? :shobon:

I highly doubt they'd collapse if I wasn't there. I don't feel anywhere near essential enough for that. I can think of three or so people who would cause the company to collapse if they left, though.

mrmcd
Feb 22, 2003

Pictured: The only good cop (a fictional one).

You guys.

I decided to teach myself some new stuff since I'm bored, and I'm going through nodejs tutorials. I can't tell if I'm old of if this is possibly to dumbest way to design software and the world has gone crazy.

Please help.

pr0zac
Jan 18, 2004

~*lukecagefan69*~


Pillbug

mrmcd posted:

I can't tell if I'm old of if this is possibly to dumbest way to design software and the world has gone crazy.

Yes.

Also learn Go instead.

Pollyanna
Mar 5, 2005

Milk's on them.


Ithaqua posted:

You can just be a "developer". No junior/senior modification.

I'd say the distinction is (roughly):

Junior: Not expected to work without guidance on anything except very simple tasks. Needs to be watched fairly closely to make sure everything they're doing is good. Juniors may not know enough to know when they're doing something wrong or badly, so they need a higher degree of supervision. Does not participate actively in architectural discussions, although may be included to observe for learning purposes.
Mid-level: Expected to work without guidance on moderately complex tasks. Needs less supervision; they can be trusted for the most part to do things well. They should be expected to know when to ask for clarification or guidance. Expected to play a role in architectural discussions.
Senior: Expected to be able to work without guidance on most tasks and work largely unsupervised. Has a bigger role in architectural decisions.

What is "complex" in this case? I consider something like adding a new feature to be complex to moderately complex, depending on the inherent complexity of the codebase. Making a sweeping architectural change, though, is pretty complex. I've also been told that there is complexity in going with best practices and "things that senior developers just pick up on over time" which was very vaguely described and I have no idea what it refers to anyway.

Vulture Culture
Jul 14, 2003

I was never enjoying it. I only eat it for the nutrients.

mrmcd posted:

You guys.

I decided to teach myself some new stuff since I'm bored, and I'm going through nodejs tutorials. I can't tell if I'm old of if this is possibly to dumbest way to design software and the world has gone crazy.

Please help.
Async is great, JavaScript is terrible, at least learn Node.js with promises instead of callbacks nested 10 tabs deep

Drastic Actions
Apr 7, 2009

FUCK YOU!
GET PUMPED!
Nap Ghost

Vulture Culture posted:

Async is great, JavaScript is terrible, at least learn Node.js with promises instead of callbacks nested 10 tabs deep

Typescript is great though, IMO.

RICHUNCLEPENNYBAGS
Dec 21, 2010

Drastic Actions posted:

Typescript is great though, IMO.

I didn't use it very long, so maybe I'm way-off, but it seemed to me like if you were using libraries that weren't TS-mapped already it was a big hassle.

Skandranon
Sep 6, 2008
fucking stupid, dont listen to me

RICHUNCLEPENNYBAGS posted:

I didn't use it very long, so maybe I'm way-off, but it seemed to me like if you were using libraries that weren't TS-mapped already it was a big hassle.

I don't know how long ago this was, but it's not a problem now for major libraries, check out the DefinatelyTyped github project, it has d.ts files for almost every major library.

And it's also no WORSE than using them in Javascript, you just type everything as any and get no type safety.

RICHUNCLEPENNYBAGS
Dec 21, 2010

Skandranon posted:

I don't know how long ago this was, but it's not a problem now for major libraries, check out the DefinatelyTyped github project, it has d.ts files for almost every major library.

And it's also no WORSE than using them in Javascript, you just type everything as any and get no type safety.

Well, I'm aware of that but it didn't have what I wanted, so I was typing everything as any and it didn't seem like I was getting a whole lot of benefit.

Monkey Fury
Jul 10, 2001
Has anyone here ever worked at a place -- cough, Pivotal -- that does eXXXtreme pair programming, day in and day out? What was that experience like for you? I currently have a job that is very flexible in work hours and remote days, but I'm kinda tempted to head for a pay boost and some experience outside of my current field (data engineering at a well-funded non-profit), so I'm moving through the interview process over there. Or, has anyone heard more about what it's like working at Pivotal, outside of what Glassdoor says? The people I've met so far seem pretty great, but was wondering if anyone here has had interaction with them.

pr0zac posted:

I guarantee you unless you're applying for a specific position like Android developer, the programming interviews will be choose-your-own-language.

Really though, you're over thinking everything.

Not too long ago, I applied for a Python-based job at a major newspaper. They sent me a Hackerrank test that could only be done in C or C++ :what: since I haven't touched C since I was about 16, I... haven't heard back since submitting it.

Monkey Fury fucked around with this message at 05:52 on Sep 16, 2015

Doctor w-rw-rw-
Jun 24, 2008
Edit: nevermind

Doctor w-rw-rw- fucked around with this message at 08:07 on Sep 16, 2015

Blinkz0rz
May 27, 2001

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

Pollyanna posted:

What is "complex" in this case? I consider something like adding a new feature to be complex to moderately complex, depending on the inherent complexity of the codebase. Making a sweeping architectural change, though, is pretty complex. I've also been told that there is complexity in going with best practices and "things that senior developers just pick up on over time" which was very vaguely described and I have no idea what it refers to anyway.

Isn't this your first programming job? Haven't you been there less than a year?

Cicero
Dec 17, 2003

Jumpjet, melta, jumpjet. Repeat for ten minutes or until victory is assured.
I think Pollyanna was at a startup incubator before, doing some (?) programming.

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS
Still junior as gently caress. And I don't say that to be mean. I say it to underscore that she still has a ton of stuff to learn.

Jumping to a mid level position or a senior one brings with it a certain assurance you have to have about your skill set and the way you communicate with other programmers; junior, mid level, or senior.

There's no shame in staying in a junior role so you can keep learning. Better to develop the skills than get found out in your first week at a new place.

Pollyanna
Mar 5, 2005

Milk's on them.


If I'm a junior, I'm a junior. My problem with my current position is that 1. I'm in a catch-22 regarding those very skills you mention and 2. I do not have any interest in what I'm working on anyway. It's not about my seniority or skills, it's about being quite frankly poorly managed.

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS
And that's fine, and that'll happen. The hardest thing about software development isn't actually making the software, it's getting X number of people to work well enough together to do good work on time and on budget. Sometimes coworkers don't work out. Sometimes you don't mesh well with your manager. It sucks, but that's the reality.

Go interview at Twitter. Do something cool. Just make sure that you don't pump yourself up too hard. It's better to listen and learn at such an early stage in your career. You'll have a better foundation of knowledge when you start looking at a more senior role. You'll also (hopefully) have worked with enough bosses by then to know how to be a better manager, mentor, and resource to both to peers and junior developers.

JawnV6
Jul 4, 2004

So hot ...

Blinkz0rz posted:

The hardest thing about software development isn't actually making the software, it's getting X number of people to work well enough together to do good work on time and on budget.

brosmike
Jun 26, 2009

Monkey Fury posted:

Has anyone here ever worked at a place -- cough, Pivotal -- that does eXXXtreme pair programming, day in and day out? What was that experience like for you? I currently have a job that is very flexible in work hours and remote days, but I'm kinda tempted to head for a pay boost and some experience outside of my current field (data engineering at a well-funded non-profit), so I'm moving through the interview process over there. Or, has anyone heard more about what it's like working at Pivotal, outside of what Glassdoor says? The people I've met so far seem pretty great, but was wondering if anyone here has had interaction with them.

A friend of mine works at a large company that decided to start working with Pivotal on some project - she ended up working as a liason with Pivotal, pair programming at their office with one of their teams for 6 weeks while still technically working at the large company. After the 6 weeks were up, she flatly told the large company "keep me in this role working with Pivotal or I'm leaving." She says the biggest con is that, like you would expect, having a good experience in that sort of working environment is extremely dependent upon everyone having reasonable interpersonal skills and good personality mesh. She also says that Pivotal seems reasonably good at hiring for those attributes. You should expect an interview with them (or any other competent extreme programming house) to involve at least a day of pair programming with your prospective team.

I currently work at Microsoft on some of the in-house engineering system tools we use to build and test Windows. My team uses extreme programming (based on this book), though we usually just say "agile" since it is more palatable with other nearby engineers here. We are very much an outlier within our organization. It is not a magic bullet, it always falls apart if your team does not have good rapport, it almost always falls apart if you have management above you that is not bought in. Compared to other teams I've worked in similar spaces (organizationally and product-wise), this team is:
  • Dramatically better at sharing knowledge within the team. New engineers ramp up faster, it is easy to shift priorities because everybody can work on every piece of code the team owns at a moment's notice, we never have cases of "what do you mean the customer cut this last week, I've been working on it for days week"
  • Dramatically better at responding to change. We fix bugs in hours, not weeks. We can shift the entire team onto a new major feature area in days, not months.
  • Dramatically better at aggressively paying down technical debt. The code we work on is what you would expect of an in-house build system - old, crusty, and often originating from a tens-of-thousands-of-lines-of-awful-batch-file side project some dude wrote in his spare time years ago before quitting. Other teams I've worked on in this sort of situation minimize the risk of working in this sort of codebase by always making the minimum possible change. We generally prefer to make systemic/"nicer" fixes.
  • Dramatically more time spent coding/doing "real work". You feel much more bad about wasting another person's time too than just yours.
  • Somewhat better work-life balance. Microsoft is generally reasonable here, but this team excels. Noone works late nights. There is never crunch time.
  • Somewhat better ability to impact team/product direction as an individual dev
  • Somewhat better ship time (but I think this is more a result of working on build tools and not OS components).
  • Not significantly different bug introduction rate (but again, much faster fix rate and much higher willingness to make "big" fixes).
  • Not significantly different test quantity/quality
  • Not significantly different promotion/raise velocity (this depends almost completely on having cooperative upper management and somewhat on having cooperative nearby engineering teams)
  • Somewhat worse overhead in coordinating with other engineering teams
  • Dramatically worse at enabling motivation failures to spread. One person having a bad day spreads to the rest of the team very easily. Also applies to diseases. Both can be managed by firmly encouraging the use of vacation/sick leave, but there is still much less isolation from teammates.
It is hard for me to judge without bias how well these attributes generalize outside of Microsoft, since that's where I've spent my entire career so far.

Do you have more specific questions?

Also:

Blinkz0rz posted:

The hardest thing about software development isn't actually making the software, it's getting X number of people to work well enough together to do good work on time and on budget.

b0lt
Apr 29, 2005

pr0zac posted:

I guarantee you unless you're applying for a specific position like Android developer, the programming interviews will be choose-your-own-language.

Really though, you're over thinking everything.

I applied for a position as an Android developer and I got interviewed in C++ and Objective-C :v:

mrmcd
Feb 22, 2003

Pictured: The only good cop (a fictional one).

Is HackerRankX different from any other remote code screen tool everyone seems to use now days? I've done like 4 or 5 of these stupid things now but I seem to remember people here finding HackerRank particularly bad for some reason.


On a side note, I understand why companies want to do this whole "jump on skype and my favorite collaborative editing tool and do this 30 minute coding problem with me" thing, but I've got to say as someone who's already employed this is getting to be kind of annoying. I can't do these at the office by popping out for 30 minutes so now I've got to burn 1.5 - 2 vacation days to get your lowball offer instead of just 1. Weeeeeee.

Pollyanna
Mar 5, 2005

Milk's on them.


I have that coding exercise for Twitter this afternoon. I have absolutely no idea what will be covered or what skill level they expect me to be, so I'm pretty nervous. :ohdear: It's a team that supports a mobile app but also appears to handle the back-end as well, so it could be anything.

Is Twitter like Google in its coding exercises/interview questions? Or is it closer to startups in that sense?

piratepilates
Mar 28, 2004

So I will learn to live with it. Because I can live with it. I can live with it.



mrmcd posted:

Is HackerRankX different from any other remote code screen tool everyone seems to use now days? I've done like 4 or 5 of these stupid things now but I seem to remember people here finding HackerRank particularly bad for some reason.


On a side note, I understand why companies want to do this whole "jump on skype and my favorite collaborative editing tool and do this 30 minute coding problem with me" thing, but I've got to say as someone who's already employed this is getting to be kind of annoying. I can't do these at the office by popping out for 30 minutes so now I've got to burn 1.5 - 2 vacation days to get your lowball offer instead of just 1. Weeeeeee.

Just do them in the morning before you go to work instead of taking the whole day off, just say you're coming in late if you have to.

Pollyanna
Mar 5, 2005

Milk's on them.


poo poo, that's a much better idea than saying I have a medical appt halfway through the day. (Which is partly true, but still.)

aBagorn
Aug 26, 2004

Pollyanna posted:

poo poo, that's a much better idea than saying I have a medical appt halfway through the day. (Which is partly true, but still.)

I did some fibbing here and there, but luckily my company is pretty chill with time off anyway.

Trip report: Officially gave my notice, picked up a cool 35k raise in base salary, 20% bonus potential, and now am heading up my own team (which right now consists of me, myself, and I)

e:

mrmcd posted:

Is HackerRankX different from any other remote code screen tool everyone seems to use now days? I've done like 4 or 5 of these stupid things now but I seem to remember people here finding HackerRank particularly bad for some reason.

I took a hackerrank test for another job (didn't get it) and I am convinced the compiler was loving up my solution, because it worked in other environments

High Protein
Jul 12, 2009
I took a hackerrank test for Amazon a while back and it was a bad experience. Main issue was that before the actual algorithm in question could be implemented, I had to read a variable-width matrix from stdin. In my years of programming c++ I've never really worked with reading stream input (and its fuckery with line endings not being consumed, etc.), especially not the last couple of years as that's all been abstracted away. I spent most of my time messing with the matrix routines instead of actually implementing anything algorithm-related.

Maybe it's just inexcusable that I've lost track of the basics. But even if I'd gotten it to work, there was no indication if at any point a human would look at it and judge the performance, or code quality. Basically it felt like someone who just took an introduction to c++ class would've had a better crack at solving it than I had. If it had been a face to face coding exercise, I could at least have explained myself, shown how I've learned to focus on code that's readable to others, etc.

Finally, for some of the unit tests the input was set to be hidden, which I get, but also find dubious.

I also ran into code working for me but segfauling online, another reason why a coding test shouldn't work like this.

piratepilates
Mar 28, 2004

So I will learn to live with it. Because I can live with it. I can live with it.



Still not half as bad as take home programming assignments you spend a few hours on and never hear back about.

If any place is going to ask me for one of those I'm just going to pass on it right away, life's too short for that poo poo.

Vulture Culture
Jul 14, 2003

I was never enjoying it. I only eat it for the nutrients.

piratepilates posted:

Still not half as bad as take home programming assignments you spend a few hours on and never hear back about.

If any place is going to ask me for one of those I'm just going to pass on it right away, life's too short for that poo poo.
There's absolutely no better indicator that a company doesn't value your time. Better to find out before you start.

sarehu
Apr 20, 2007

(call/cc call/cc)

Pollyanna posted:

Is Twitter like Google in its coding exercises/interview questions? Or is it closer to startups in that sense?

How are Google interview questions categorically different from startups'?

Pollyanna
Mar 5, 2005

Milk's on them.


Hey, you know what's worse than HackerRank and using its terrible code pairing application? Using its terrible code pairing application while juggling a cell phone.

The Twitter code screen was awful. First off, the guy had a very thick accent, and it was hard to understand him. Fair enough, but in a situation where you need to communicate with the interviewee, that can be a real problem. It also wasn't just his accent - there was constant noise coming through the phone which caused him to keep breaking up and for me to only half understand the instructions. He also said he didn't have my resume or anything and didn't know what my expertise was in - or anything about me at all. Strike 1.

Turns out the phone call was also the coding exercise. As in, they sent me a link to HackerRank and asked me to write out a solution to the problem, live, while speaking to me on the phone. Do note that this wasn't Skype or Google Hangouts or anything - this was my loving cellphone. I ended up either typing all my code one-handed while speaking, or having to focus on typing instead of speaking at all. Are developers expected to do this often? Because in my experience, poo poo no. Also, HackerRank is a buggy piece of poo poo. Strike 2.

The code exercise was a copy-pasted Python question (it wasn't even PEP compliant), and I haven't worked in Python for a long time now. The prompt (very lightly paraphrased here) was to implement something along the lines of A*:

code:
def getPath(start, end, lines):
  -1
    
def simpleTest:
    lines = ["...",
             "xx.",
             "..."]
    6 == getPath((0, 0), (2, 0), lines)

def test:
    simpleTest()

test()
There's no way I'm figuring that out in an hour. Also, I had no real choice on what language to code in, and I ended up having to translate the program to Ruby by myself. The guy was completely unhelpful, and in fact, he was silent the entire time except for "try running your code" every once in a while. Overall, it took me an hour to get absolutely nowhere. Strike 3, you're out.

Needless to say, I didn't pass. This may be presumptive of me, but I'm actually kind of insulted. It was extremely unprofessional and it feels like they don't have a drat clue how to interview someone. I choked, definitely, but it really feels like this was stacked against me. If working at Twitter is anything like interviewing for Twitter, I dodged a loving bullet.

I sure do have a lot more appreciation for my current job now. :sigh: Nice reality check for me, too. I'm less and less sure of being able to pull off finding a new job without getting fired first. Oh, and yes, I know speakerphone is a thing. I switched to that eventually. But holy hell, who the hell expects someone to talk on the phone and type on a keyboard at the same loving time? Christ.

csammis
Aug 26, 2003

Mental Institution
That sounds like a pretty unfortunate experience and I know you're venting, but

Pollyanna posted:

But holy hell, who the hell expects someone to talk on the phone and type on a keyboard at the same loving time?

Someone who is calling a potential software engineer on the phone and intends to give them a coding question expects this. It's not unreasonable at all.

e: in fact I'd recommend practicing it if at all possible, just like whiteboard coding. A headset is a better option than speakerphone for environments where hearing is difficult.

csammis fucked around with this message at 20:52 on Sep 17, 2015

Illusive Fuck Man
Jul 5, 2004
RIP John McCain feel better xoxo 💋 🙏
Taco Defender
Talking while coding is pretty standard for these things. Was there some reason you couldn't switch to speakerphone? edit: oops missed that in your post

I'm not sure I completely understand the problem, but could you have quickly put together a BFS solution to get the ball rolling? An A* solution is more difficult to do correctly on the spot, but should be doable with some practice at this kind of thing.

minato
Jun 7, 2004

cutty cain't hang, say 7-up.
Taco Defender

High Protein posted:

I took a hackerrank test for Amazon a while back and it was a bad experience. Main issue was that before the actual algorithm in question could be implemented, I had to read a variable-width matrix from stdin. In my years of programming c++ I've never really worked with reading stream input (and its fuckery with line endings not being consumed, etc.), especially not the last couple of years as that's all been abstracted away. I spent most of my time messing with the matrix routines instead of actually implementing anything algorithm-related.
I recently interviewed at a large company. The recruiters made it clear weeks in advance that they'd be doing an interactive HackerRank-style problem, and that I should practice on those. It became clear after doing a few that almost all of them involve reading in some text file and parsing lines into strings and integers, so there was an expectation by the interviewer that I'd know off the top of my head how to do those kinds of donkeywork tasks.

On the day, I chose Python as my language and promptly forgot how to read in a line, and mistakenly used PHP function names instead. I didn't notice until afterwards but the interviewer didn't blink because he wasn't testing my language knowledge (and of course we never even ran the code), he was testing my ability to think through an algorithm. I would hope that a decent interviewer would stop a candidate from going down a rabbithole of fixing up donkeywork code, and cut to the chase of testing their algorithms.

quote:

Finally, for some of the unit tests the input was set to be hidden, which I get, but also find dubious.

I also ran into code working for me but segfauling online, another reason why a coding test shouldn't work like this.
The segfaulting is a pain because there's no way to debug, but the point is that the hidden test cases often attack naive implementations that don't scale, and require some thought and creativity to solve. If they gave you the hidden test cases then people would just optimize for those exact cases to win.

A good example of this: Start with an array of N integers, where Array[N] = N. Then process a list of commands of these 3 types:
1) Reverse(X,Y) - reverse all the numbers between index X and Y.
2) PrintIndex(X) - display A[X]
3) PrintPosition(Y) - display the array index of number Y (1 <= Y <= N)

This is trivial for a competent programmer to implement. But once N gets large, the speed of some operations can get very slow depending on the implementation. The hidden tests will only tell you is that they time out, so a good programmer should be able to at least identify the failings of the algorithm and come up with some alternative implementations.

I think it's a good interview question because it exposes how people think when they come up against a problem. But I would never test this by making the programmer submit code, I just want to see their thought process.

Skandranon
Sep 6, 2008
fucking stupid, dont listen to me

Pollyanna posted:

Hey, you know what's worse than HackerRank and using its terrible code pairing application? Using its terrible code pairing application while juggling a cell phone.

The Twitter code screen was awful. First off, the guy had a very thick accent, and it was hard to understand him. Fair enough, but in a situation where you need to communicate with the interviewee, that can be a real problem. It also wasn't just his accent - there was constant noise coming through the phone which caused him to keep breaking up and for me to only half understand the instructions. He also said he didn't have my resume or anything and didn't know what my expertise was in - or anything about me at all. Strike 1.

Turns out the phone call was also the coding exercise. As in, they sent me a link to HackerRank and asked me to write out a solution to the problem, live, while speaking to me on the phone. Do note that this wasn't Skype or Google Hangouts or anything - this was my loving cellphone. I ended up either typing all my code one-handed while speaking, or having to focus on typing instead of speaking at all. Are developers expected to do this often? Because in my experience, poo poo no. Also, HackerRank is a buggy piece of poo poo. Strike 2.

The code exercise was a copy-pasted Python question (it wasn't even PEP compliant), and I haven't worked in Python for a long time now. The prompt (very lightly paraphrased here) was to implement something along the lines of A*:

code:
def getPath(start, end, lines):
  -1
    
def simpleTest:
    lines = ["...",
             "xx.",
             "..."]
    6 == getPath((0, 0), (2, 0), lines)

def test:
    simpleTest()

test()
There's no way I'm figuring that out in an hour. Also, I had no real choice on what language to code in, and I ended up having to translate the program to Ruby by myself. The guy was completely unhelpful, and in fact, he was silent the entire time except for "try running your code" every once in a while. Overall, it took me an hour to get absolutely nowhere. Strike 3, you're out.

Needless to say, I didn't pass. This may be presumptive of me, but I'm actually kind of insulted. It was extremely unprofessional and it feels like they don't have a drat clue how to interview someone. I choked, definitely, but it really feels like this was stacked against me. If working at Twitter is anything like interviewing for Twitter, I dodged a loving bullet.

I sure do have a lot more appreciation for my current job now. :sigh: Nice reality check for me, too. I'm less and less sure of being able to pull off finding a new job without getting fired first. Oh, and yes, I know speakerphone is a thing. I switched to that eventually. But holy hell, who the hell expects someone to talk on the phone and type on a keyboard at the same loving time? Christ.

That's a pretty standard question, though it basically is expecting you to know some pathing algorithms ahead of time. The point isn't to ask a set of questions and expect the interviewee to answer them all, but to see how they work through a problem. Or, at least, a good interviewer doesn't, maybe you just had bad luck. Keep in mind a lot of people doing interviews are developers, and have just as bad social skills as you would expect. They aren't trained in how to interview someone and evaluate them, so they gently caress up a lot. It's not easy, and when you have to interview 4 people in a day AND get normal work done, it can be very exhausting.

FamDav
Mar 29, 2008
yeah, speaker phone is necessary in these cases. put it on something soft on your desk; they'll be able to hear you just fine and unless you're on a ridiculous clicky-clacky keyboard won't hear you typing.

as for your question - I'd expect someone to be able to implement some kind of search w/in an hour. Would it be A*? Maybe not, though as long as your language has a heap in its standard library (sorry ruby) its not that much different from a breadth-first or depth-first search. You were caught off guard because of a miscommunication from your recruiter and your interviewer left you out to dry, but you'll find a lot of companies will expect you to be able to traverse something like a graph in a phone/in-person interview. it's pretty clear what to do, there's no super cool trick you have to figure out, and its slightly less contrived than most other interview questions.

sarehu
Apr 20, 2007

(call/cc call/cc)

Pollyanna posted:

speakerphone

Headsets, i.e. the headphone/mike combo that comes with every single phone ever sold, are the thing to use here.

Pollyanna posted:

There's no way I'm figuring that out in an hour.

Then whatever problems you see in the administration of their interview didn't really hurt them.

Mniot
May 22, 2003
Not the one you know

Pollyanna posted:

The Twitter code screen was awful. First off, the guy had a very thick accent, and it was hard to understand him.

I had a phone screen once with a guy with a pretty thick accent. He's asking me to talk through some toy coding problems out loud (just on the phone, no shared screen):

Interviewer: "Let's say that we have a C string and we want to re-work it, OK? How would you do that?"
Me: "Do you mean you just want to arbitrarily rearrange the characters?"
I: "Yeah. Like, switch two characters."
M: "OK, well I have an extra `char` variable, and I copy the first value there, copy the second to the first position and copy the held char to the second position."
I: "Yes, that's right. Now how would you re-work a string that has several words in it?"
M: "Umm... well a string is a string and we're just moving characters, so... exactly the same way."
I: "Right, but how would you re-work the string? Exactly how?"
M: "Just like before: you swap any two chars you want using an intermediate variable."
I: "Yes, but how do you re-work the whole string?"
M: "Make a loop? Swap two chars as much as you like."

He gave up on me just as I realized that he was saying "reverse a string" and it was the problem where you first ask the candidate to reverse a string, and then you ask them to reverse each word of a string while keeping the word order the same ("olleh dlrow").

Adbot
ADBOT LOVES YOU

Pollyanna
Mar 5, 2005

Milk's on them.


Okay, imagine that, but the signal is noisy and breaking up and also you have one hand on your keyboard.

Not to get all goon-in-the-well here, but I think I'm going to bide my time a little longer before trying to get a new job. For one thing, I clearly need more experience if today's any indication. For another, I don't have any concrete proof that I'm about to get fired, it just feels that way - but then again, I have a feeling that's still proof enough for our purposes. :( If I can just get rid of the paranoia and worry over feeling like everything I do disappoints my manager, my job is pretty much perfectly fine otherwise.

I now understand how the string question could be a graph problem, but I'd need some more time to figure out a solution. Also, I don't know how to do graph problems and pathfinding. I have never had to do that in my life and do not find it relevant.

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