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
ultrafilter
Aug 23, 2007

It's okay if you have any questions.


It's a decent explanation, but it's missing any kind of substantive exercises.

Adbot
ADBOT LOVES YOU

fantastic in plastic
Jun 15, 2007

The Socialist Workers Party's newspaper proved to be a tough sell to downtown businessmen.

Ghost of Reagan Past posted:

Yes...learn Haskell. See beyond the veil.

Yes... yes...

raminasi
Jan 25, 2005

a last drink with no ice

mrmcd posted:

Also Two Sigma won't buy you lunch unless you do good enough on the morning interviews, and they tell you this at the start lol. Glad I was competent enough to warrant a passable pad thai.

I don't remember this from when I interviewed them a year and a half ago, so they're getting better...or worse :v: They had me leave after lunch but at least bought it for me first. Only session of note was the problem that I think I solved in a way the interviewer didn't expect. She kept asking "Aha! But what about..."-style questions and then looking confused when I showed how my solution accounted for those cases.

Keetron
Sep 26, 2008

Check out my enormous testicles in my TFLC log!

Today I was send a coding challange. The internet is teeming with solutions. The company would like to see my solution which would be something like: I looked at the already existing solutions and decided to take this one as I found the code to be most readable and extendable if future need arises.

Is this taking a big risk or super honest?

Edit: in their challenge some rules are slightly different to the standard so I will have to do actual work.

Keetron fucked around with this message at 09:33 on Mar 23, 2018

Jaded Burnout
Jul 10, 2004


Keetron posted:

Today I was send a coding challange. The internet is teeming with solutions. The company would like to see my solution which would be something like: I looked at the already existing solutions and decided to take this one as I found the code to be most readable and extendable if future need arises.

Is this taking a big risk or super honest?

Edit: in their challenge some rules are slightly different to the standard so I will have to do actual work.

Are strawberries involved?

Doctor w-rw-rw-
Jun 24, 2008

Keetron posted:

Today I was send a coding challange. The internet is teeming with solutions. The company would like to see my solution which would be something like: I looked at the already existing solutions and decided to take this one as I found the code to be most readable and extendable if future need arises.

Is this taking a big risk or super honest?

Edit: in their challenge some rules are slightly different to the standard so I will have to do actual work.

The challenges are to get a clue into your approach to solving problems. While "I'll find some code on the internet and just use that" is a solution, it's low signal on how you'd explore actual issues that you might not have a reference for. Also, a little bit worrisome.

I've pulled the line "well first, I'd use <LIBRARY> which does exactly this", but pair it with "but if I couldn't use it or had to do it myself..."

And "well, first, I'd check the docs/stack overflow/man pages", but paired with "For now I'll assume they have ___ function implemented, and if they don't, I'd use X and Y to make it..." and answer prompts to go deeper into that if needed.

If you say "I found this and it was the best code", you're signaling your taste in code, which is not worth nearly as much consideration as determining the right code to write, and you're not signaling that you can think through a problem (and how you do it), which is literally the reason they're spending the money in engineer-time on your interview.

Naar
Aug 19, 2003

The Time of the Eye is now
Fun Shoe

Good Will Hrunting posted:

Genuinely think I should dive deeper into a functional language. I work with Scala at work but only really in the capacity of using it like a wrapper for Java, we have so much interop with Java that it prohibits certain things.

E; http://learnyouahaskell.com/ this is... something
Er, I wouldn't go right to Haskell, unless you love monads and semigroups (though maybe you do if you know Scala?). Try Clojure or Elixir instead.

BurntCornMuffin
Jan 9, 2009


Keetron posted:

Is this taking a big risk or super honest?

Take the honest route. A good company will appreciate this far more than trying to pass off the result as your own, and may already aware of what solutions are out there specifically to catch out a dishonest interviewee.

A bad company won't be happy that you cheated on their clever test, but at that point, they have outed themselves as bad and you'll have dodged a bullet.

Good Will Hrunting
Oct 8, 2012

I changed my mind.
I'm not sorry.

Naar posted:

Er, I wouldn't go right to Haskell, unless you love monads and semigroups (though maybe you do if you know Scala?). Try Clojure or Elixir instead.

"Know Scala" isn't terribly accurate. I've used some features that are nice but would not describe myself as having anything more than a very loose knowledge of the language. Probably like a 4/10. Elixir looks cool though. Might give this a peep during downtime at work or from "review".

Ghost of Reagan Past
Oct 7, 2003

rock and roll fun

Naar posted:

Er, I wouldn't go right to Haskell, unless you love monads and semigroups (though maybe you do if you know Scala?). Try Clojure or Elixir instead.
Transcend this mundane reality and learn Haskell, actually.

EDIT: For the record, Haskell is a very weird language and doesn't have many jobs, but I like it a lot because my brain is fundamentally broken.

Naar
Aug 19, 2003

The Time of the Eye is now
Fun Shoe

Ghost of Reagan Past posted:

Transcend this mundane reality and learn Haskell, actually.

EDIT: For the record, Haskell is a very weird language and doesn't have many jobs, but I like it a lot because my brain is fundamentally broken.
High five, fellow odd language-liker. I'm learning Idris at the moment, it seems totally impractical for use in the real world but it sure is interesting.

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


Haskell now is probably about where Python was back when Paul Graham wrote The Python Paradox. You're not likely to get a job writing Haskell, but you might get a job because you know Haskell.

Good Will Hrunting
Oct 8, 2012

I changed my mind.
I'm not sorry.
I fell asleep reading the Haskell site and had a dream that I was explaining jQuery to someone in my elementary school and I'm not really sure what it says, but I'm concerned. I had just started digging into Go a bunch because it's that ~*~ hot new-ish thang ~*~ around NYC (and it seems quite good for getting certain things up and running really quickly? maybe I'm wrong?) that every recruiter emails me about but the functional world seems so new and fresh to me that I might just go for Elixir or Clojure to tickle my tech free time fancy.

On an unrelated note, Java Concurrency in Practice is really awesome so far so thanks to whoever recommended that. It's the perfect level of review for things I've worked with in the past in some capacity but may not have touched in a bit.

mrmcd
Feb 22, 2003

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

Go is still a little rough around the edges, but it's a very nice language and I like it a lot. It balances the nice, easy to pickup and do stuff aspect of python but with an actual sane grown up language features like you have in C and Java. It's take on OO programming is a little... odd, but workable.

Google also uses a ton of go, so it will money backing its growth for the foreseeable future, and also does pretty well with cross-platform development too.

mrmcd
Feb 22, 2003

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

But then again I'm a drat weirdo who likes Java (it's a good language hobbled by two decades of lovely engineers trying to write endless ~~Enterprise XML factory frameworks~~) so ymmv.

Jose Valasquez
Apr 8, 2005

Java is good. I hate short variable names so Go is dumb.

Good Will Hrunting
Oct 8, 2012

I changed my mind.
I'm not sorry.
"Java kicks rear end" - guy who has never written anything else besides lots of mini tracking servers in Node it's me

FamDav
Mar 29, 2008

mrmcd posted:

But then again I'm a drat weirdo who likes Java (it's a good language hobbled by two decades of lovely engineers trying to write endless ~~Enterprise XML factory frameworks~~) so ymmv.

i'd also say its only hobbled if you're stuck on that kind of stack. modern java is absolutely delightful.

mrmcd
Feb 22, 2003

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

FamDav posted:

i'd also say its only hobbled if you're stuck on that kind of stack. modern java is absolutely delightful.

Yeah, it is, but its bad rep comes from all that nonsense.

redleader
Aug 18, 2005

Engage according to operational parameters
I don't understand the appeal of Go.

Jaded Burnout
Jul 10, 2004


I had to learn java recently as a ruby developer and it was fine, except the type system really takes a poo poo when you start doing functional chains with the streams library and nobody on the internet seems to have a solution.

Blinkz0rz
May 27, 2001

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

redleader posted:

I don't understand the appeal of Go.

Systems language that's not c, c++, or rust.

Also a decent stdlib, goroutines, a pretty good build toolchain, etc.

withoutclass
Nov 6, 2007

Resist the siren call of rhinocerosness

College Slice

Good Will Hrunting posted:

"Java kicks rear end" - guy who has never written anything else besides lots of mini tracking servers in Node it's me

Just wait till you try kotlin then. Java may as well not even exist anymore.

spiritual bypass
Feb 19, 2008

Grimey Drawer

redleader posted:

I don't understand the appeal of Go.

If you like interfaces but not OOP, it's your best bet

good jovi
Dec 11, 2000

'm pro-dickgirl, and I VOTE!

redleader posted:

I don't understand the appeal of Go.

Also, go fmt is nice for never having style arguments again.

Xarn
Jun 26, 2015

Blinkz0rz posted:

Systems language that's not c, c++, or rust.

Except it is not really systems language? When it first came out, it was marketed as such, but later it was always "build a web service in" language, rather than system one. :shrug:

Infinotize
Sep 5, 2003

Go is good, Java is bad

pigdog
Apr 23, 2004

by Smythe
var keyword in Java 10 will be able to reduce wordiness even further without sacrificing any type safety.

code:
// with explicit types
No no = new No();
AmountIncrease<BigDecimal> more = new BigDecimalAmountIncrease();
HorizontalConnection<LinePosition, LinePosition> jumping =  new HorizontalLinePositionConnection();
Variable variable = new Constant(5);
List<String> names = List.of("Max", "Maria");
 
// with inferred types
var no = new No();
var more = new BigDecimalAmountIncrease();
var jumping = new HorizontalLinePositionConnection();
var variable = new Constant(5);
var names = List.of("Max", "Maria");

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe

redleader posted:

I don't understand the appeal of Go.

It's a strongly-typed language that's at least somewhat succinct and has a fairly rapid development time. The lack of generics drives me up the wall, as does the lack of any kind of functional programming capabilities.

The "use short names" style guide rule is loving stupid though.

Good Will Hrunting
Oct 8, 2012

I changed my mind.
I'm not sorry.

withoutclass posted:

Just wait till you try kotlin then. Java may as well not even exist anymore.

We use Kotlin for our tracking servers at my current job actually! It's quite nice. Though interop between Java, Scala, and Kotlin is tough (this is a product of a poor management team not a language deterrent tbf) I really hope I get to use it more.

I'm so new I've never touched any of the bad aspects of earlier Java I think. Dropwizard has been a treat to use and we got super solid performance from it in a use case that was super performance intensive. It also helped us get new services up and running so quickly, comes baked with a lot of nice and tunable things etc. I've never touched Spring or any sort of framework before that, which people seem to have strong feelings about.

speng31b
May 8, 2010

Jaded Burnout posted:

I had to learn java recently as a ruby developer and it was fine, except the type system really takes a poo poo when you start doing functional chains with the streams library and nobody on the internet seems to have a solution.

What? You can chain typed streams all day. Look at rxjava, it's basically the premise of it. Either way, Kotlin is just Java but better in every way, there's no good reason not to be using it at this point.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

mrmcd posted:

Yeah, it is, but its bad rep comes from all that nonsense.

It also comes from being years behind C# in language features. See below:

pigdog posted:

var keyword in Java 10 will be able to reduce wordiness even further without sacrificing any type safety.

code:
// with explicit types
No no = new No();
AmountIncrease<BigDecimal> more = new BigDecimalAmountIncrease();
HorizontalConnection<LinePosition, LinePosition> jumping =  new HorizontalLinePositionConnection();
Variable variable = new Constant(5);
List<String> names = List.of("Max", "Maria");
 
// with inferred types
var no = new No();
var more = new BigDecimalAmountIncrease();
var jumping = new HorizontalLinePositionConnection();
var variable = new Constant(5);
var names = List.of("Max", "Maria");

C# introduced this exact feature 10 years ago.

Java isn't a bad language, it just hasn't kept up with the competition.

withoutclass
Nov 6, 2007

Resist the siren call of rhinocerosness

College Slice

Good Will Hrunting posted:

We use Kotlin for our tracking servers at my current job actually! It's quite nice. Though interop between Java, Scala, and Kotlin is tough (this is a product of a poor management team not a language deterrent tbf) I really hope I get to use it more.

I'm so new I've never touched any of the bad aspects of earlier Java I think. Dropwizard has been a treat to use and we got super solid performance from it in a use case that was super performance intensive. It also helped us get new services up and running so quickly, comes baked with a lot of nice and tunable things etc. I've never touched Spring or any sort of framework before that, which people seem to have strong feelings about.

Yea Scala interop is rough from what little of it I've done. Never used dropwizard, we mostly use Vertx for our backend work. I'm interested in trying Spring Boot 2 and the reactor stuff, but it's still probably more heavy weight with frameworks like Vertx and Ktor now.

Volguus
Mar 3, 2009

New Yorp New Yorp posted:

It also comes from being years behind C# in language features. See below:


C# introduced this exact feature 10 years ago.

Java isn't a bad language, it just hasn't kept up with the competition.

That's true. The luck of Java was that Microsoft hosed up the handling of the ecosystem in general. They lost 15 years of potential community building and libraries writing that happened in Java but did not (or much less) in .NET . Now they're coming around so maybe in 10 years .NET will catch up to Java.

mrmcd
Feb 22, 2003

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

TooMuchAbstraction posted:


The "use short names" style guide rule is loving stupid though.

That drives me nuts too, but I don't actually care enough to spend hours and hours arguing with some greybeard about it in a readability review instead of just living my life.

Mao Zedong Thot
Oct 16, 2008


Go is great. It lives up to what I imagine the language motto is so perfectly 'go: it's... ok'.

It just solves so many obnoxious things about development in unsurprising and unexcitingly productive ways. It has weird and annoying bits, of course, but rarely do those bits cause major annoyance when actually using it.

BurntCornMuffin
Jan 9, 2009


New Yorp New Yorp posted:

It also comes from being years behind C# in language features. See below:


C# introduced this exact feature 10 years ago.

Java isn't a bad language, it just hasn't kept up with the competition.

It doesn't help that adoption of new versions of Java is atrocious (at least everywhere I've been starts projects at least one version back, and never ever upgrades).

Java's other big problem is that fresh graduates frequently land Java positions, and often don't have any training on tools or dev practices outside of the base language. I'm constantly having to teach people the basics of git/any source control, maven/gradle, unit testing, and peer review practices. People just don't seem to get trained on these things. Worse is if I find a project that had no such oversight: I just came into contact with about 17 years with all of the above mistakes and I'm dreading having to play whack-a-bug with that mess in the months leading up to it's EOL (or month before the new job, if things with this interview process go as well as I hope).

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


BurntCornMuffin posted:

Java's other big problem is that fresh graduates frequently land Java positions, and often don't have any training on tools or dev practices outside of the base language. I'm constantly having to teach people the basics of git/any source control, maven/gradle, unit testing, and peer review practices. People just don't seem to get trained on these things. Worse is if I find a project that had no such oversight: I just came into contact with about 17 years with all of the above mistakes and I'm dreading having to play whack-a-bug with that mess in the months leading up to it's EOL (or month before the new job, if things with this interview process go as well as I hope).

I think this is much more important than people realize. Java's not a bad language, but it is the lowest common denominator, and as such it's built up an ecosystem to support people who can't really program. There's some value in that, but the problem is that the tooling you need to take a bad developer to an acceptable one makes life painful for the good developers out there.

Jaded Burnout
Jul 10, 2004


speng31b posted:

What? You can chain typed streams all day. Look at rxjava, it's basically the premise of it. Either way, Kotlin is just Java but better in every way, there's no good reason not to be using it at this point.

Perhaps I'm misremembering, I don't have a lot of experience with static languages, but code like this had the IDE screaming warnings at me if I remember correctly:
code:
  public KStream<String, SpecificRecord> accountManagerDimensionStream() {
    return eventStream
      .filter((_key, event) -> (new DimensionBuilder((GenericRecord) event)).hasAccountManager())
      .map((key, event) -> {
        DimensionBuilder builder = new DimensionBuilder((GenericRecord) event);
        AccountManager accountManager = builder.accountManager();
        return new KeyValue<CharSequence, AccountManager>(accountManager.getId(), accountManager);
      });
  }
Edit: Maybe it was the anonymous functions that caused the problem.

Jaded Burnout fucked around with this message at 21:05 on Mar 24, 2018

Adbot
ADBOT LOVES YOU

speng31b
May 8, 2010

Plenty of things we can criticize Java for but the use case above isn't one of them. Works fine for that kind of thing, what can I say?

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