Part of that is likely by design; a huge part of software engineering is grokking unclear or overcomplicated requirements and breaking them down into workable tasks
@kagof2354 it's just a bunch of gotchas. Usually, you're able to break down your projects over the coming days / sprint. But in these cases they give you like 10 minutes. Any type of mistake will just DQ you in today's market
Imagine how much better the world would be if all the talent that get sucked into quantitative trading goes into developing software beyond algorithms to make financial firms pockets fatter.
@@dan-cj1rr We know, the point is that it's a race to the bottom. Financial institutions are literal parasites upon the productive sectors of the economy, and any benefits from the parasitic relationship have been obliterated since 2008. The younger devs or quants who want to go into this industry should be aware that you will have a target on your back as a literal retainer of some of the greediest motherfuckers on the planet.
Its an implementation of a hashmap (like std::unordered_map or dict()), which is typically covered in a data structures class (we did something similar for one of our assignments). It's not as bad as the prompt seems (the interviewer 100% assumes the student has previously implemented hashmaps). I'm a senior and its been so long i've almost entirely forgotten about collision resolution techniques As for the code itself, its oop, c++ templates, const functions, and pass by reference all of which should be also covered in a good intro OOP class (if it teaches in c++). This is for a quant dev role (so mainly C++) so they likely expect far more knowledge esp with modern cpp stuff as well. I think if youre around mid-sophomore year of a cs degree, its a good time to start knowing a majority of the stuff in the video otherwise ur honestly fine.
Honestly not a complicated question. So basic it’s actually funny to throw the rest of the vid behind patreon. But this shows that maybe quant coding interviews aren’t crazy at all.
The thing I don't like about the resizing implementation is that part of the problem description mentions that their reasoning for creating this data structure is to reduce performance variance, and have more stable performance metrics. Having an amortized operation is like the definition of instability.
Exactly and it took too much time(thinking not typing). I work as a quantitative developer and when I interview people I ask them about math stuff, I take basic data structures for granted.
(TL;DR Not saying anything about you or the candidate or this channel, but more constructive feedback on how the question could be better ) What a stupid question to ask in a quant interview (for the original firm that used this question) - There's no substance - it's like asking someone to write a linked list in an interview - sure you can roll out something that works - but what did you as an interviewer learn about the candidate boundaries in terms of ability to think through hard problems and multi-layered problem solving ? The topic of the question is actually decent - lots of areas to explore - but the actual question and what it asks the candidate too simplistic - Of course the title says it is for a junior quant dev - what differentiates a junior dev from a senior ? not sure what the expectations for the skill level of this role are - so maybe the question is warranted for the level - but it's still quite easy anyone who's ever taken a data structures course can pull this off without breaking a sweat - not sure how it helps as useful selection criteria For example a better question to ask around this topic would be Imagine you need to store and look up items based on keys - but you have insanely high insert requests order of 1million per second - there's no way so much info would fit on a single machine - how would you overcome a challenge like this This would lead to more interesting discussions around - do we need the data to be retrieved fast - is it okay to have slow reads ? - once a machine is full - how do you orchestrate inserts to a new machine ? - how can you distribute the load across multiple sites ? - what about the latency of operations - are the clients that insert all geographically in the same region ? - is there caching to reduce load ? - how frequently does the cache get invalidated ? read after write consistency ? - what happens if one of the machines containing keys goes down ? can you recover ? - how would you add new machines ? - is it possible to have redundancy ? - what about compaction ? can you archive keys that haven't been used for more than x days / months ... - what are the properties of the hash function, collision rate, throughput ? - what about a distributed hash table ? ... And all these questions have both a system design AND a coding / algorithms angle to them which makes it quite engaging
I was intrigued to watch this video wondering if there would be themes of signal processing, reduced order modelling, numerical methods, etc. This just looks like a coding problem for a software engineer.
I agree that the aim of this interview should be to test the candidate's ability at problem solving. This problem does not come with much of that. However, he is applying for a junior position, so most likely he is a 3'rd or 4'th year student looking to get his first job in the industry. The concepts you described are not fit to ask considering the experience level of the candidate.
@@snipernosnipey8162 And you are? quick to belittle someone behind a screen but with a name like snipernospiey i would assume your brain hasnt fully developed
@@CodingJesus agreed. but i should hope you are more nervous with real assets then you are in these interviews. i say this with full acknowledgement of it as a contrived, but nonetheless, there's a point to be made about one's ability to operate efficiently in high stress situations.
I have had a couple of interviews like this (frontend interview with React.js/TypeScript) and it is crazy how difficult it is to think clearly and see the obvious when your thinking is being scrutinized under a magnifying lense.
It's for getting a Quant job, not for retail traders. If you want to be a private/retail algorithmic trader you can use MQL5 or Python, and you do not need to interview yourself.
1. Think of a scenario where the key is an int, for example. When we create the vector with empty slots (e.g. resizing it to capacity in the constructor), each slot in the vector has Node created in it where its values (key_, value_) are default initialized. In the case where Key is an int, each key_ is initialized to junk (it could be any number). Imagine searching the vector for an int (e.g. 3) and you just so happened to hit a key that is junk-initialized to 3, but you never explicitly inserted it. That's a false positive that you'd never be able to catch without an explicit marker that this value has been inserted by the user. 2. It will be used to delete items from the array (simply mark the spot as unoccupied).
Hey, Coding Jesus! I really enjoyed your video on the mock technical junior quant dev interview. I have a quick question-I've been learning about quant roles and I'm wondering about the importance of learning C++ versus Rust. Since I didn’t go to school and I’m aiming for a career in the crypto quant space, do you think I could focus on learning Rust instead of C++? I noticed Rust is used a lot in the crypto world, and I feel like it might give me a better chance at breaking into this niche, as opposed to traditional firms that require C++. Would love to hear your thoughts!
Get a masters, too many people nowadays have bachelor’s to stand out. Thats what im gonna do, maybe even work while i get a masters in mathematical finance or just maths
@@wiffle1928i have my masters, and I personally wouldn’t recommend getting one unless you don’t have any internships during undergrad. Masters students are somewhat looked down upon as candidates in quant because the smartest people either do phds or are hired out of undergrad. With the exception of people doing dual BS/MS at top schools
@@masonliebe1044 oh really? Is that in quant only or all of tech? Like say software engineering. Because i wanted to do a masters while working in tech then go for quant instead of straight to quant.
i like this guy's rooms is just like Hyperbolic time chamber. only coding and nothing
I love the little side eyes he throws each new line that is written.
I think he was cheating
looking at another screen
@@riyanshbiswas I think he was looking at the call to see the reaction to the line he just wrote, but could be cheating lol
@@gavinclancy4029 most definitely cheating.
the autocomplete is the mvp here
His smile upon seeing the question said it all, as though he had encountered and solved it before.
it's kind of trivial, just making a common data structure.
Lowkey feeling proud that I knew everything here :)
Honestly to me the descriptions are always more complicated explained than the actual task.
It Is finance after all
Part of that is likely by design; a huge part of software engineering is grokking unclear or overcomplicated requirements and breaking them down into workable tasks
@@kagof2354 im aware but this is so counterintuitive to productivity
@@MadpolygonDEV 100%, it fully is
@kagof2354 it's just a bunch of gotchas.
Usually, you're able to break down your projects over the coming days / sprint. But in these cases they give you like 10 minutes. Any type of mistake will just DQ you in today's market
Imagine how much better the world would be if all the talent that get sucked into quantitative trading goes into developing software beyond algorithms to make financial firms pockets fatter.
I would rather stay in this industry until diversity hiring is scrapped, which is not going to happen 🙂
it does, quants are not the only smart math nerds in CS space, big AI researcher get fatter pay cheques than quants and use much more complex math
@@llgllg6725 you afraid of competing with minorities? cretin
yea well people go where money and conditions are, those are in financial institutions.
@@dan-cj1rr We know, the point is that it's a race to the bottom. Financial institutions are literal parasites upon the productive sectors of the economy, and any benefits from the parasitic relationship have been obliterated since 2008. The younger devs or quants who want to go into this industry should be aware that you will have a target on your back as a literal retainer of some of the greediest motherfuckers on the planet.
daily dose of imposter syndrome
Its an implementation of a hashmap (like std::unordered_map or dict()), which is typically covered in a data structures class (we did something similar for one of our assignments). It's not as bad as the prompt seems (the interviewer 100% assumes the student has previously implemented hashmaps). I'm a senior and its been so long i've almost entirely forgotten about collision resolution techniques
As for the code itself, its oop, c++ templates, const functions, and pass by reference all of which should be also covered in a good intro OOP class (if it teaches in c++). This is for a quant dev role (so mainly C++) so they likely expect far more knowledge esp with modern cpp stuff as well.
I think if youre around mid-sophomore year of a cs degree, its a good time to start knowing a majority of the stuff in the video otherwise ur honestly fine.
If you break down the concepts tested, they’re all quite basic.
1. Templates
2. Default constructor
3. Pass by reference
4. Vectors
5. Integers
It's hashmap implementation bro 💀🙏
@@spyrex3988 my uni never taught us how to implement hashmaps so the vid was a bit confusing to me. I understand how to do it now.
Real. But all this stuff is really insightful@@CodingJesus
I had to do this for my Data Structures class in C but it was a homework assignment lol, cool that he can do it in 30ish mins
Very brave of samad! 👏🏻
looks like he is copying from his notes the way he pauses and looks to the side and he doesn't say what he will do before coding
Lmao exactly I highly suspect that
if you can copy something and reuse it and you know how to use it its not a problem in dev job.
@@TheArtineusz but this is an interview bro
@@TechWise360 right.. just saying. Also from personal expiriance one of guys that interviewed me said that googlig is also a skill ;)
@@TechWise360 When you realize that most coders research and review on the daily lol.
Honestly not a complicated question. So basic it’s actually funny to throw the rest of the vid behind patreon. But this shows that maybe quant coding interviews aren’t crazy at all.
The thing I don't like about the resizing implementation is that part of the problem description mentions that their reasoning for creating this data structure is to reduce performance variance, and have more stable performance metrics. Having an amortized operation is like the definition of instability.
This seems to easy to actually be asked by quant firms
Exactly and it took too much time(thinking not typing). I work as a quantitative developer and when I interview people I ask them about math stuff, I take basic data structures for granted.
Why was he cheating during a practice interview?
what 😭
nice const awarness after looking already written solution code on second screen 😂
nice cheating bro, keep going
why didnt you make him turn off the auto complete haha
(TL;DR Not saying anything about you or the candidate or this channel, but more constructive feedback on how the question could be better )
What a stupid question to ask in a quant interview (for the original firm that used this question) - There's no substance - it's like asking someone to write a linked list in an interview - sure you can roll out something that works - but what did you as an interviewer learn about the candidate boundaries in terms of ability to think through hard problems and multi-layered problem solving ?
The topic of the question is actually decent - lots of areas to explore - but the actual question and what it asks the candidate too simplistic - Of course the title says it is for a junior quant dev - what differentiates a junior dev from a senior ? not sure what the expectations for the skill level of this role are - so maybe the question is warranted for the level - but it's still quite easy anyone who's ever taken a data structures course can pull this off without breaking a sweat - not sure how it helps as useful selection criteria
For example a better question to ask around this topic would be
Imagine you need to store and look up items based on keys - but you have insanely high insert requests order of 1million per second - there's no way so much info would fit on a single machine - how would you overcome a challenge like this
This would lead to more interesting discussions around
- do we need the data to be retrieved fast - is it okay to have slow reads ?
- once a machine is full - how do you orchestrate inserts to a new machine ?
- how can you distribute the load across multiple sites ?
- what about the latency of operations - are the clients that insert all geographically in the same region ?
- is there caching to reduce load ?
- how frequently does the cache get invalidated ? read after write consistency ?
- what happens if one of the machines containing keys goes down ? can you recover ?
- how would you add new machines ?
- is it possible to have redundancy ?
- what about compaction ? can you archive keys that haven't been used for more than x days / months ...
- what are the properties of the hash function, collision rate, throughput ?
- what about a distributed hash table ?
...
And all these questions have both a system design AND a coding / algorithms angle to them which makes it quite engaging
I was intrigued to watch this video wondering if there would be themes of signal processing, reduced order modelling, numerical methods, etc. This just looks like a coding problem for a software engineer.
I agree that the aim of this interview should be to test the candidate's ability at problem solving. This problem does not come with much of that. However, he is applying for a junior position, so most likely he is a 3'rd or 4'th year student looking to get his first job in the industry. The concepts you described are not fit to ask considering the experience level of the candidate.
Why is he constantly checking his left monitor?
What's there )
logic_error is fine, but std::length_error would be a better choice for the expand function.
Nice, thanks Jesus for existence of coding 🤤
I am grateful for the existence of coding, but is Coding Jesus responsible for the existence of coding?
Or are you thanking the biblical Jesus Christ?
Looks cool but I'm just not understanding.
Im right there with you, its okay though just keep grinding
Thats good, you were never meant for quant anyways
@@snipernosnipey8162 And you are? quick to belittle someone behind a screen but with a name like snipernospiey i would assume your brain hasnt fully developed
@@AkaThePistachio probably some kid that doesn't have no confidence and no social skills. stays at home all day, no gf, sad.
If you don't even get this, then I'm sorry for you bud
Guess these are Java things. In the 5 years I've developed I only did optimization in database operations that the ORM did poorly due to code smells.
i would deduct many points for not just taking the goddamn ai completions you already have on LMAO.
It gave him the right answer most of the time but he ignored it / was overthinking. Good example of how being nervous can sometimes throw you off.
@@CodingJesus agreed. but i should hope you are more nervous with real assets then you are in these interviews. i say this with full acknowledgement of it as a contrived, but nonetheless, there's a point to be made about one's ability to operate efficiently in high stress situations.
I have had a couple of interviews like this (frontend interview with React.js/TypeScript) and it is crazy how difficult it is to think clearly and see the obvious when your thinking is being scrutinized under a magnifying lense.
great stuff! live coding🤘
yooo which university of wisconsin??? I go to Madison LOL. W video
Can java devs too break into quant devloper space ?
I thought this was a comedy skit in the beginning!
i'm terrified of templates, dont really understand them
just get copilot to do it lol
Is this quest on lc?
where is the discord link?
the one in the site is already expired
cool, that it is ok for u that he can use google for interview
Nice material, make the learning today
Omg i am loss but none of this is needed to be a great trader. This is for making wallsteet happy not your own pockets
It's for getting a Quant job, not for retail traders. If you want to be a private/retail algorithmic trader you can use MQL5 or Python, and you do not need to interview yourself.
I don't understand why is_occupied_ exists. Why is it necessary?
i dont think it is necessary either
but the point of it is to mark that an entry in the table actually holds data or not
1. Think of a scenario where the key is an int, for example. When we create the vector with empty slots (e.g. resizing it to capacity in the constructor), each slot in the vector has Node created in it where its values (key_, value_) are default initialized. In the case where Key is an int, each key_ is initialized to junk (it could be any number). Imagine searching the vector for an int (e.g. 3) and you just so happened to hit a key that is junk-initialized to 3, but you never explicitly inserted it. That's a false positive that you'd never be able to catch without an explicit marker that this value has been inserted by the user.
2. It will be used to delete items from the array (simply mark the spot as unoccupied).
@@CodingJesus I see, thanks. I though the vector would be default initialized with null nodes instead of junk data. Makes sense now.
That would be my question as well, why initialize the nodes with garbage instead of leaving them null?
This question way too easy a quant interview
What’s the salary
Hey, Coding Jesus!
I really enjoyed your video on the mock technical junior quant dev interview. I have a quick question-I've been learning about quant roles and I'm wondering about the importance of learning C++ versus Rust. Since I didn’t go to school and I’m aiming for a career in the crypto quant space, do you think I could focus on learning Rust instead of C++? I noticed Rust is used a lot in the crypto world, and I feel like it might give me a better chance at breaking into this niche, as opposed to traditional firms that require C++.
Would love to hear your thoughts!
C++ for the quant world, very rare to see them using rust (at least from all the job postings I've seen)
Are you sure that's the same with the crypto thing he's talking about? I haven't heard about the crypto quant space though. @@exoneuromancer1672
For these interviews woul dit be okay to do in C
Shia labeouf the developer
The blatant copying line by line makes this interview unwatchable.
I started to notice that when he added the is_occupied
Nah, this guy is fishy haha
wtf
Hello sir Is BS degree with Major in Mathematics and Minor in Computer science good for becoming quant trader/ researcher ?
Get a masters, too many people nowadays have bachelor’s to stand out. Thats what im gonna do, maybe even work while i get a masters in mathematical finance or just maths
Hello sir 👋
@@wiffle1928i have my masters, and I personally wouldn’t recommend getting one unless you don’t have any internships during undergrad. Masters students are somewhat looked down upon as candidates in quant because the smartest people either do phds or are hired out of undergrad. With the exception of people doing dual BS/MS at top schools
@@masonliebe1044 oh really? Is that in quant only or all of tech? Like say software engineering. Because i wanted to do a masters while working in tech then go for quant instead of straight to quant.
@@wiffle1928the op was talking about quant roles.
discord link?
pretty weak overall
just mid,most of applications are like that