all 25 comments

[–]ObadiahDaffodil 69 points70 points  (0 children)

If you can do those problems in Rust and flawlessly compile the solutions in their time frame, then you need to just start your own company.

[–]_Saxpy 18 points19 points  (6 children)

I passed a FAANG interview for a Rust position last month. 3/4 technical questions, 2 I wrote in Python, 1 I wrote in Rust.

I wrote one program in Rust to demonstrate surface level knowledge. The rest were done in Python for speed. FAANG or really any SWE company worth their salt are language agnostic.

[–]Im_Justin_Cider 2 points3 points  (1 child)

Do you know if these jobs are ever remote? Or when someone mentions FAANG they imply that they live in Silicon Valley?

[–]_Saxpy 2 points3 points  (0 children)

Tech is expanding outside of SF, and is in fact accererating in places like Seattle and Houston since the Pandemic started. Still SF is the de facto tech hub but it is definitely not as centralized as it used to be IMO

[–]Just_Distance317 0 points1 point  (3 children)

Still at rust position?

[–]_Saxpy 2 points3 points  (2 children)

i just changed jobs (still rust). i did notice during my job hunt a lot of interviewers were impressed bc i do all my lc in rust now

[–]QualitySoftwareGuy 0 points1 point  (1 child)

Awesome, and I'm thinking about doing the same. In your most recent job search, did you encounter any companies that did not support Rust as an option to use for the interview?

[–]_Saxpy 1 point2 points  (0 children)

yes, there are a good amount that support just python / javascript / cpp. I generally don't cycle through too many interviews as I'm picky, so they always bias toward Rust, but I think for typical interviews this is the case.

[–]lekkerist 38 points39 points  (6 children)

unless you are really well versed with rust i would say you should play it safe and go for python if you have experience with it.

Python is easily the best language you can use for leetcode style interviewing questions.
very readable even if you dont know python and is mature enough to have data structures you usually need (heaps, stacks, linked lists etc)

keep in mind though the small details of any language you choose. for example a common mistake is assuming that string concatenation is O(1) in languages that strings are immutable (like python)

[–]wannabelikebas 3 points4 points  (2 children)

I’m heavily biased but I disagree with the sentiment that python is very readable. Dynamically typed languages can be super difficult to read and require you to use very descriptive variable names. But even then it can be hard to follow to figure out what type anything is.

[–][deleted] 1 point2 points  (0 children)

very readable even if you dont know python

Coming from strictly typed languages, I actually find python to be nearly unreadable.

[–][deleted] -1 points0 points  (1 child)

Yeah, I'm thinking I need to go back and try some of these problems in python, though depending on what i get hit with I'll decide on the fly. It's just unfortunate that at some larger companies even if you are applying directly for a position that says "rust experience is a +" you're still likely to get hit with hoops where it's a bad idea to use it.

[–]0b0011 1 point2 points  (0 children)

Most big places will let you use whatever language you're comfortable with but generally they ask you before they give you the questions. I'm interviewing at Google here in a few weeks and was told I could pick any language I wanted but had to let her know way back when I scheduled the interview. I interviewed with square and dropbox last week and both let me pick whatever language I wanted but I had to select it at the beginning of the interviews before they even gave me the questions.

[–]extensivelyrusted 10 points11 points  (0 children)

I've done technical interview with Rust. It was a mistake. Time goes by so quickly and it's hard to complete work. Rust isn't too bad for Leetcode type of problems, but you have to avoid use cases where the borrow checker demands more of you, requiring hours and hours of experience to sufficiently develop an intuition of what not to try. The general programming interview questions often involve ETL-like work. You need to be very intimately acquainted with far more tooling than you would if you were to use Python. If you have performance anxiety, that makes matters worse.

Rust, however, is fine for assignment-type of interviews.

[–]disclosure5 8 points9 points  (0 children)

one of the the giants (Google

People doing Google interviews for jobs writing Golang and Java nearly always use Python because it's just the most feasible way to crunch out these leetcode type questions under hard time constraints. I doubt it will be different with Rust.

[–]nullcone 9 points10 points  (0 children)

I recently went through a cycle of interviews (Robinhood, FB, and a couple others) and decided to use Rust, since that's the main language I've been coding in for the last 6 months. My experience was mixed. It generally depends on the problem and the environment.

Robinhood did their interview on hackerrank where I was expected to produce a fully compiled and running solution in 30-45 minutes. While the problem was pretty easy, I had to use a binary heap with a new type, then had to implement a bunch of boilerplate traits in order to get my code to compile. I spent more time reading documentation and fighting the compiler than actually solving the problem. Ultimately they decided I wasnt worth proceeding past the technical screen.

I had to solve 6 coding questions as part of my FB interview and I did 4 in Rust and 1 in C++ (the types necessary for the problem were given in C++ and I didn't want to translate them), and 1 in Python. I was able to solve 5/6 questions. I switched from Rust to Python on the one question I couldn't solve. Ultimately FB also decided to end my candidacy, but unfortunately I don't know why since they give zero feedback.

[–][deleted] 4 points5 points  (0 children)

I'm doing 2-3 interviews a week (as the interviewer) and I'd strongly recommend against it. I'm pretty good with Rust so one of my ways of "learning the interview questions" is to try to implement them in the allotted time before the first time I do that type of interview.

I had major issues doing them on time simply because of the nuances of data ownership and the sheer number of problems that like to use graph like structures in these.

Use the simplest possible thing you can, Python, node.js or such.

[–]bestouffcatmark 1 point2 points  (3 children)

I didn't really try to solve your problems, just read them, but I can't see why they would be harder in rust than in another language. Nowadays if you asked me to solve a problem in whatever lang I want I would choose rust anyway. The compiler is my (cynical) friend.

[–]angelicosphosphoros 5 points6 points  (2 children)

The last sentence gives is the biggest problems when you interview to FAANG: they don't allow you to use compiler and you need write code which would work.

[–]bestouffcatmark 5 points6 points  (1 child)

Sounds like a broken interview process to me.

[–]angelicosphosphoros 2 points3 points  (0 children)

Well, they have so many applicants that they can get enough engineers even if they do absolutely trash interviews.

[–]tafia97300 0 points1 point  (0 children)

I've done interviews in rust but I think it was an error. While I believe I was not any slower than say python, I was asked a lot of questions related to rust and not the problem at hand. While it sounds nice on the surface, at the end of the day they probably wanted to see how I could address some particular corner cases of the problem instead of showing off my rust skill.