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
Fuck them
Jan 21, 2011

and their bullshit
:yotj:

Strong Sauce posted:

Email contact at other place and ask them politely if they've made a decision since you have received an offer from a second place.

It was through a recruiter. No contacts except the recruiter. Would that still work?

I'd hope a sign of "other people want him" would be taken as a positive.

Adbot
ADBOT LOVES YOU

Mr. Crow
May 22, 2008

Snap City mayor for life
What's the best resource to refresh myself on all the algorithms I learned in college and have mostly sense forgotten?

Doing an Amazon interview and seems like a lot of it will be algorithm questions, drat if I remember half of them.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

Mr. Crow posted:

What's the best resource to refresh myself on all the algorithms I learned in college and have mostly sense forgotten?

Doing an Amazon interview and seems like a lot of it will be algorithm questions, drat if I remember half of them.

Cracking the Coding Interview

bonds0097
Oct 23, 2010

I would cry but I don't think I can spare the moisture.
Pillbug

Steve French posted:

Do people forget that the dictionary also contains definitions for words?

Perhaps they're just referring to spell-check dictionaries like mobile phones have.

Progressive JPEG
Feb 19, 2003

Ithaqua posted:

Cracking the Coding Interview

Also Skiena's Algorithm Design Manual for a deeper dive (less interview-specific but super neat/useful)

gariig
Dec 31, 2004
Beaten into submission by my fiance
Pillbug

Steve French posted:

Do people forget that the dictionary also contains definitions for words?

It's still not much. It takes around 5MB to the complete works of Shakespeare. Plain text doesn't take much room. So you could easily store a Dictionary inside a dictionary data structure on any modern piece of hardware (PC, phone, tablet).

Fuck them
Jan 21, 2011

and their bullshit
:yotj:
The hard sell to TAKE THIS JOB NOW for $BADJOB's recruiter is almost pathetic. Not that I'm going to cave in.

Then again I could take the job, give a 2 weeker, and bail if I find better. But I'd probably be better off not doing that.

Still, a 45% raise is nothing to sneeze at even if the workplace would be a joke.

Cicero
Dec 17, 2003

Jumpjet, melta, jumpjet. Repeat for ten minutes or until victory is assured.

Pollyanna posted:

I had a phone screen just now, and I had a couple interesting questions. One of them was about binary trees, the advantages to using one, and its big-O notation (log(n), not n :gonk:). Pretty straight forward, though it took me a bit of wrangling to explain it.
Data structures don't have big-O, their operations have big-O. It's true that several key operations on a binary tree will be logN, but others will indeed be linear (e.g. print the tree, or dump the tree into a list).

edit: To elaborate, big-O most commonly refers to running time of some operation. It's also used to describe growth in space/storage, and it's true that the depth of binary trees grows at logN (assuming they're not hideously imbalanced), but total space growth is still linear.

Cicero fucked around with this message at 18:08 on Apr 11, 2014

ManoliIsFat
Oct 4, 2002

bonds0097 posted:

Perhaps they're just referring to spell-check dictionaries like mobile phones have.

I've always know the connotation of "dictionary" in terms of CS to be "a list of words" (or a Key->Value data structure).

Steve French
Sep 8, 2003

gariig posted:

It's still not much. It takes around 5MB to the complete works of Shakespeare. Plain text doesn't take much room. So you could easily store a Dictionary inside a dictionary data structure on any modern piece of hardware (PC, phone, tablet).

I wasn't suggesting that it would change the end conclusion ("does it fit in memory"), but just that "the English dictionary" could be interpreted as either just the set of valid english words, or the actual dictionary, which includes definitions, which would be about an order of magnitude larger I'd guess. Don't want to derail, just a thought. It's also possible that the question was completely clear about that as actually stated in the interview.

Pollyanna
Mar 5, 2005

Milk's on them.


The dictionary in this case was a list of words for making a game of Hangman.

Cicero posted:

Data structures don't have big-O, their operations have big-O. It's true that several key operations on a binary tree will be logN, but others will indeed be linear (e.g. print the tree, or dump the tree into a list).

edit: To elaborate, big-O most commonly refers to running time of some operation. It's also used to describe growth in space/storage, and it's true that the depth of binary trees grows at logN (assuming they're not hideously imbalanced), but total space growth is still linear.

Right, yes. I think I was originally thinking of it in the last way you described there, data growth. He clarified that he meant searching/traversal (I think).

gariig
Dec 31, 2004
Beaten into submission by my fiance
Pillbug
How common are probationary periods or using short term contract-to-hire (4-8 weeks)? I'm in the process of negotiating with a company and they sort of offered me the choice of FTE or contract-to-hire. Is this a common practice? If they insist on the contract-to-hire what can I do to indemnify myself? I'm thinking a nice severance package if I'm terminated.

I'm already with a company as a FTE position so I'm not exactly a newbie but this seems to be the best place to ask in CoC.

Sea Monkey
Nov 20, 2008
How do you guys recommend going about negotiating equity?

I received an offer from a startup with average entry-level salary + .2% to .3% share of the company.

FYI I'll be the 5th technical member to join the company.

Strong Sauce
Jul 2, 2003

You know I am not really your father.





2banks1swap.avi posted:

It was through a recruiter. No contacts except the recruiter. Would that still work?

I'd hope a sign of "other people want him" would be taken as a positive.

Yes, talk to your recruiter. Their job is to get you a job. If you don't get it through them then they don't get money.

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder

2banks1swap.avi posted:

It was through a recruiter. No contacts except the recruiter. Would that still work?

I'd hope a sign of "other people want him" would be taken as a positive.

Yeah, I did it. I didn't even have an actual job lined up (I lied), but the place I was applying had had to reschedule like 3 times and I was tired of waiting at that point. I didn't get the job but whatever.

Strong Sauce
Jul 2, 2003

You know I am not really your father.






Slightly off-topic, but I remember there was some weird parody/slam article against this dude? Anyone remember this?

seiken
Feb 7, 2005

hah ha ha

Strong Sauce posted:

Slightly off-topic, but I remember there was some weird parody/slam article against this dude? Anyone remember this?

http://devgrind.com/2007/04/25/how-to-not-solve-a-sudoku/

JawnV6
Jul 4, 2004

So hot ...

Strong Sauce posted:

Slightly off-topic, but I remember there was some weird parody/slam article against this dude? Anyone remember this?

It happened around the same time Norvig wrote the entire thing in ~100 lines of python and spent the rest of the article working out higher-order issues around the game. There's a rash of articles comparing the two, I suspect anything like that would mention him as well.

Pie Colony
Dec 8, 2006
I AM SUCH A FUCKUP THAT I CAN'T EVEN POST IN AN E/N THREAD I STARTED

DaVideo posted:

I had an interview question that asked how you would insert an integer into a list of "range" structures, where each range keeps track of the starting integer and the ending integer e.g. [[1,2],[4,4],[7,9]]. If you insert an integer, it merges with any adjacent ranges so if you inserted 3, it would become [[1,4],[7,9]]. The merge function takes an number and a list, so you can consider the input, like if the number is a valid integer and if the list is empty/null, but there are bunch of cases you have to consider such as:

- The number is less than any range
- The number is greater than any range
- The number is within an existing range
- The number is between two ranges and will not merge
- The number is between two ranges and will only merge with the one less than itself
- The number is between two ranges and will only merge with the one greater than itself
- The number is between two ranges and will merge two ranges together

It's hard to keep all these cases in mind during an interview, so the best you can really strive for is mostly correct. You can come up with test cases (before or after!) that will show your code will work or show where it needs to be fixed, ideally in a minor way.

This is only tangentially related, but your post represents how I used to solve algorithm questions. I would write some code, an input would be given to me that fails, then I would try to amend the code so that it doesn't fail. Unsurprisingly, this doesn't work very well - my algorithms ended up being just a set of cases, and I would either get frustrated and quit when a new case that I could not work around appeared, or I would miss the point of the algorithm entirely.

I adopted a new strategy of essentially reading the problem description, writing down the facts that stem from it, then making further deductions. At some point I might get a theorem in my head which I prove or disprove, all before writing any code. I'm not very mathematically inclined, so formal proofs aren't the easiest thing for me to wrap my head around, but I started writing them for simple problems on websites like Codeforces and have gotten better at them. The benefit in doing this, I've found, is that you KNOW the code you write is guaranteed to be correct, and more importantly, working through a proof illuminates certain properties of the problem that lead you to the correct answer.

For example, suppose I receive the above prompt. Finding where to insert an element (here, an element being a range) in a list of sorted elements sounds a lot like binary search, except I know in the interesting case you won't find the element at all (if you did, there's nothing you have to do to the input). So I start thinking on how to modify the binary search. Intuitively, I know binary search works by considering a range (low..high) and successively chopping down that range based on where the element would be. So I throw out a guess -- the values that low and high have are around where the index I should insert is. Then I start thinking, what ARE low and high at the end of an unsuccessful binary search? I start with the fact that low > high at the end, then continue making deductions from that fact. At some point a theorem pops up in my head.

code:
        (1) At the end of binary search, we know that low > high.
        (2) In the last iteration of binary search, low <= midpoint <= high.
        (3) Suppose n < midpoint, then in the last iteration, low == midpoint.
            High becomes midpoint -1, so we know low > midpoint - 1 by (1).
            Since low <= midpoint before, the only value midpoint can be is low.
        (4) Suppose n > midpoint, then in the last iteration, high == midpoint.
            Low becomes midpoint + 1, so we know midpoint + 1 > high by (1).
            Since midpoint <= high before, the only value midpoint can be is high.
        (5) If midpoint == low or midpoint == high, then high == low.
            a = (a + b) / 2; 2a = a + b, a = b
        (6) If low == midpoint == high on last iteration, then high = low - 1 or low = high + 1.
	After an unsuccessful binary search, the low and high values differ by exactly 1.
So low and high differ by exactly one. What can I say about the low and high values in relation to the element?

code:
        (1) In all iterations of binary search, n is less than all the elements in A[ high+1 : .. ]
            This is the invariant of binary search, can be proven trivially with induction.
        (2) In all iterations of binary search, n is greater than all the elements in A[ 0 : low - 1 ]
            Same as above.
        (3) At the end of binary search, low = high + 1.
            By above theorem.
        (4) At the end of binary search, n is less than all the elements in A[ low : .. ]
            By (1), (3)
        (5) At the end of binary search, n is greater than all the elements in A[ 0 : high ]
            By (2), (3)
        (6) n must exist between the position given by (high, low)
        When binary search does not find an element, the low/high values determine where the element should be.
At this point I realize that I have done all the heavy lifting in the problem, all that remains to do is insert the element at the given position, and merge left and/or right. This is more implementation than idea, so this is when I finally start to code.

Obviously you won't have time to do this in every interview, but the speed at which I can prove or disprove a simple statement has increased and I've noticed more and more correct (and correct on the first try) submissions to algorithm problems.

Pie Colony fucked around with this message at 23:17 on Apr 11, 2014

coffeetable
Feb 5, 2006

TELL ME AGAIN HOW GREAT BRITAIN WOULD BE IF IT WAS RULED BY THE MERCILESS JACKBOOT OF PRINCE CHARLES

YES I DO TALK TO PLANTS ACTUALLY
e: misread question nm

coffeetable fucked around with this message at 23:26 on Apr 11, 2014

Moon Wizard
Dec 29, 2011

Pie Colony posted:

This is only tangentially related, but your post represents how I used to solve algorithm questions. I would write some code, an input would be given to me that fails, then I would try to amend the code so that it doesn't fail. Unsurprisingly, this doesn't work very well - my algorithms ended up being just a set of cases, and I would either get frustrated and quit when a new case that I could not work around appeared, or I would miss the point of the algorithm entirely.

...

Obviously you won't have time to do this in every interview, but the speed at which I can prove or disprove a simple statement has increased and I've noticed more and more correct (and correct on the first try) submissions to algorithm problems.

Yeah, I don't think I did case-by-case, but I remember there were definitely more cases than there needed to be. I'm generally not great at solving algorithm problems, so practicing a more formal approach like that would probably be helpful. I've been reading through some books coffeetable recommended too, so hopefully I'll do better if I want to apply again.


Now that I think about it, the reason I might've been asked to test so much during that set of interviews was because the algorithms I wrote were really bad :smith:

Fuck them
Jan 21, 2011

and their bullshit
:yotj:
$BAD_JOB has apparently had a streak of people passing. Apparently I'm not the only one who wants no part of some "owner puts biz logic in SQL since he wants to be in control of it and isn't a programmer, has no middle tier, and has offshoreed things for years and is only now on shoring" type thing.

Honestly, it seems like what he actually needs is a Gordon Ramsay level consultant or Senior Dev/Architect, not a yes-man senior dev and a team of junior guys around said yes-man senior dev.

Talking to the recruiter for $GOOD_JOB was hilarious - he actually guessed right off the bat what the bad place was.

biochemist
Jun 2, 2005

Who says we don't have backbone?
I'm having an existential crisis right now- I opened Pandora's box by taking an on site interview with amazon last week. They extended an offer and I've got a few days to look it over. Does anyone have any experience with working there?

It's a huge move for me but I've got cold feet since I'd be leaving everything behind. Almost all of the feedback I've gotten has been either first-hand current employees (positive) or second-hand past employees (negative).

I think it would be great rounding out my experience but I don't want to get caught up in a terrible work environment and hate myself, since I've already got a pretty good salary/stress ratio going on in the Carolinas.

wolffenstein
Aug 2, 2002
 
Pork Pro
That's not an existential crisis FYI. Anyway, there's a few Amazon goons here, there's lots of Steve Yegge posts on Amazon, and I'm sure Glassdoor has lots of feedback. There's enough information about Amazon employment to make an informed decision. Best of luck.

Also no you don't leave everything behind. You can always fly back whenever you want. The Internet lets you stay in contact with people no matter where you are. In this day and age there is almost no way to "leave everything behind".

biochemist
Jun 2, 2005

Who says we don't have backbone?

wolffenstein posted:

That's not an existential crisis FYI.

Ha! It definitely feels like it, just trying to avoid e/ning up the thread. Thanks for the tips, I'll keep searching.

Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde

biochemist posted:

I'm having an existential crisis right now- I opened Pandora's box by taking an on site interview with amazon last week. They extended an offer and I've got a few days to look it over. Does anyone have any experience with working there?
I do not recommend working in or adjacent to the fulfillment operations.

biochemist
Jun 2, 2005

Who says we don't have backbone?

Gazpacho posted:

I do not recommend working in or adjacent to the fulfillment operations.

It's a role with AWS, I imagine I'd be pretty far removed from the retail side of things.

Cicero
Dec 17, 2003

Jumpjet, melta, jumpjet. Repeat for ten minutes or until victory is assured.
People worked reasonable hours on my team (Kindle for Fire tablets) and the ones adjacent to it. Some dudes put in more hours if they were young and unattached and/or gunning for faster promotions but overtime as an expectation only happened occasionally.

IMO do it, if things suck leave after a year for another shop in Seattle. The upside of Amazon's workaholic reputation is that no one will judge you for leaving quickly.

edit: oh yeah, and congrats :)

Cicero fucked around with this message at 03:43 on Apr 14, 2014

Fuck them
Jan 21, 2011

and their bullshit
:yotj:
I had someone from Amazon contact me directly :q: so I applied there and to a few other places.

If they reach out to you is it much more likely to pan out?

gariig
Dec 31, 2004
Beaten into submission by my fiance
Pillbug
I guess the big question is what other opportunities do you have? If you are in NYC, San Francisco, Austin, Chicago, etc moving to Seattle might not be a big change or produce more opportunities. However, for most of the country it's a good move. You only need to stick with it for a year or two and you can move to another company.

I had one friend on the Instant Video team and he did it for ~2 years and burned out. However, he wanted to have more control over his job and went to do a startup. I have another friend who is on the Kindle X-Ray team and he loves it but he's only been there 10 months. I've meet a few other Amazon people and most everyone likes their job.

Brannock
Feb 9, 2006

by exmarx
Fallen Rib
As a general rule for your (singular, limited-duration) life, it is going to be better to seize opportunities than it will be to go "Ehhh, maybe not. I'm happy in my nice safe boring bubble." But I suspect this may be outside the reach of this thread.

trip9
Feb 15, 2011

Hey guys, I was wondering if anyone would mind taking a look at my resume before I started shotgunning it across NYC. Thanks in advance.

https://www.dropbox.com/s/jts231nhfvdnhon/AudieSumaray_Resume_NoInfo.pdf

Edit: Now that I'm looking at it more it seems kind of short to me. Does it come off as more quick and to the point, or lacking?

trip9 fucked around with this message at 05:19 on Apr 14, 2014

shrughes
Oct 11, 2008

(call/cc call/cc)

trip9 posted:

Hey guys, I was wondering if anyone would mind taking a look at my resume before I started shotgunning it across NYC. Thanks in advance.

https://www.dropbox.com/s/jts231nhfvdnhon/AudieSumaray_Resume_NoInfo.pdf

Edit: Now that I'm looking at it more it seems kind of short to me. Does it come off as more quick and to the point, or lacking?

First impression is good: It just looks, visually, like a resume that knows what it's about.

The line "Compared efficiency of multiple data serialization formats (XML, JSON, Protobuf, and Thrift) on a mobile platform." just sounds pretty lame. That's like saying, "I ran a software." I'd think of something to replace it.

The line "Updated and maintained legacy software and databases in both QA and production environments" is missing a period at the end -- unlike the other lines.

Generally speaking the Liberty Tax section could benefit from expansion and more specific details. If you're worried about the resume being too short, that's the part to expand. Really, the rest of the resume serves as icing on that section and the more important parts of "Skills & Abilities" -- since that's your only "real" job.

Also IMO it's "man-hours," not "man hours" -- the latter is passable but the former is also correct and has more sparkle.

All three date ranges in the Experience section have inconsistent hyphenation. Follow the style used in "May 2011 – July 2011" -- spaces surrounding what I hope is an N dash.

In languages: Does "Familiar with" mean you're more familiar with those languages than the "Proficient" section? Generally speaking I would expect the first section to be the more skillfully known languages. The descriptions "proficient" and "familiar with" could be construed oppositely of the order you're intending (which I presume to be that Proficient > Familiar with). I don't know what to recommend, but different names for the sections might be worth a consider. I would generally believe that languages I'm familiar with are more strongly known than those I'm proficient in.

genki
Nov 12, 2003

biochemist posted:

It's a role with AWS, I imagine I'd be pretty far removed from the retail side of things.
1. on-call may be an issue. potentially. but
2. what downside is there to taking this opportunity that doesn't involve something not changing?

I have to assume that they offered you more money than you make currently, possibly substantially more, and you'll have an opportunity to work for a major employer in the software space. Practically speaking, if you were the type that doesn't enjoy a challenge, you probably wouldn't have gotten an offer, so I can't see how staying where you're at really benefits you in the long run.

The only thing that might override the career potential here is family/relationship. If you're relatively unencumbered in those areas, I think it's worth getting the experience.

biochemist
Jun 2, 2005

Who says we don't have backbone?

genki posted:

1. on-call may be an issue. potentially. but
2. what downside is there to taking this opportunity that doesn't involve something not changing?

I have to assume that they offered you more money than you make currently, possibly substantially more, and you'll have an opportunity to work for a major employer in the software space. Practically speaking, if you were the type that doesn't enjoy a challenge, you probably wouldn't have gotten an offer, so I can't see how staying where you're at really benefits you in the long run.

The only thing that might override the career potential here is family/relationship. If you're relatively unencumbered in those areas, I think it's worth getting the experience.

Thanks- it's a decent bump in pay but cost of living makes it negligible. I think I'm gonna give it a shot for a year or two and just keep enough cash laying around to jump ship and move back if I can't handle it. My girlfriend is on the fence about following me out, but at this point I think that's her decision to make.

Angryhead
Apr 4, 2009

Don't call my name
Don't call my name
Alejandro




Since posting in this thread about a month ago, I've been contacted by another recruiter from London and also directly by a local start-up looking for an Android developer, which is even cooler!

Going to meet with their HR & VP of Engineering tomorrow, very excited (and nervous too, of course)! :woop:

This thread has been great for tips and motivation. My own advice is to well, make stuff. Oh, and take part in as many local events as possible, even if you have to come out of your (probably introverted like mine) shell a bit. Hackathons are great for this - you get to make something and to meet people - which is how I'm guessing I got this not-yet-an offer (co-founder of the company in question is also the co-founder & one of the hosts of the hackathon I recently, pretty succesfully, took part in)

Hammerite
Mar 9, 2007

And you don't remember what I said here, either, but it was pompous and stupid.
Jade Ear Joe
I got a call on Friday from the company that asked me to do the coding exercise. They want me to come in for a chat with the team (group interview sort of thing, I guess) on Thursday! So that is pretty exciting.

I also have my assessment day with FDM tomorrow. I was a bit unenthusiastic, but the way it's worked out, it should at the least be good interview practice.

trip9
Feb 15, 2011

shrughes posted:

Helpful stuff.

Thanks for the feedback, some good catches in details there. A few questions:
  • You're right about the proficient vs familiar with, I listed the languages I'm better at as "proficient". Any idea on better nomenclature for that distinction, I noticed in the example resumes someone else also used my same nomenclature, someone else also replaced "familiar with" with "comfortable with".
  • The "compared efficiency of data serialization formats..." line didn't mean I just looked at them and decided what to use, it was actually the topic of my research paper that I got published (yeah not exactly groundbreaking research), was that not clear from the line, or does it just sound like too much BS to keep? Also should I provide the publication link to my paper?

I'm also going to look into expanding and adding more detail to my Liberty job section, unfortunately I haven't done anything too impressive sounding as the majority of my job falls into that "Updated and maintained legacy software and databases in both QA and production environments" bullet point. Basically adding functionality and bug fixing. It's not very glamorous, but it's a lot of code that I have working in production.

Fuck them
Jan 21, 2011

and their bullshit
:yotj:
So if you're being screwed, hard, how do you leave properly without losing the reference, besides 2 weeks and a zipped lip?

I'm still with the place that screwed me pretty hard during my mom's illness until I find something better, and being told I'm not performing enough given that they made the past 6 months worse than they would have been already really feels like a slap in the face having asked why I'm still a temp. Being broke from funeral expenses given that I had to go without pay the final week of my mom's life and the week after to grieve did more to contribute to my complete lack of motivation than anything else, but what else is new?

Naturally I'd just as soon walk out, but whatever. I put in 9 months here and I'd rather not have it just evaporate into thin air or get a bad reference out of it. I'm also still in debt and need to come up with $2K to give my mom's ashes a final resting place per her wishes.

I've got some good feelings about a few jobs I'm waiting to hear back on, Amazon contacted me, and I'm finally at the point I can spot and shy away from bad jobs when offered, so I know it's only a matter of time. I still can't get over just how insulting all of this poo poo is. There's also the fact that my contract rate is piss-poo poo-poor, and if they did offer full-time it would probably suck anyway!

The fact that I'm still here is honestly perplexing. If they didn't want me, I'd be gone - are they cheap or just dicks?

Adbot
ADBOT LOVES YOU

Tres Burritos
Sep 3, 2009

2banks1swap.avi posted:

are they cheap or just dicks?

They can be both.

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