console.log(xorKVAll([9,6,4,2,3,5,7,0,1]));// 8functionxorKVAll(values){letn=values.length;// from range of values [0, n]for(letkey=n-1;key>=0;key-=1)n^=key^values[key];returnn;}
While some people using reduce() (foldl()) may not be comfortable with the recursive alternative, they'll more than likely be capable of formulating the iterative version.
I suspect the question has less to do with the actual solution implementation but more with determining whether the candidate
is aware of the properties of bitwise XOR operation
has the insight that the keys/indices (and the length) of the array provide a "free" master set of values that should be in the array - creating the opportunity to leverage the properties of bitwise XOR in the first place.
Though I also suspect that the minority of candidates actually arrive at this from first principles but only hit on this because of interview preparation.
So really what is largely being assessed is
whether the candidate could be bothered to prepare for the interview
whether the candidate happened upon this exact problem during preparation
whether the candidate could recall enough to reconstruct the solution
So being asked to tweak the solution and being able to adapt is really the core of the interview.
After working on European govt projects in Belgium(Europe) and US tech giants from India for a decade, I decided to enter the life of a freelancer. I had roughly 10 years of experience under my belt..
Location
Brussels, Belgium
Education
India
Work
Checkout my course: https://www.educative.io/courses/bit-manipulation (200k students registered)
You’re right about the assessments of candidates. It’s the thought process and different approaches the candidates think of… that’s what interviewers look for!!
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
In principle
reduce
can be viewed as a shorthand for recursion over a collectionwhile recursion is immutable iteration
While some people using
reduce()
(foldl()
) may not be comfortable with the recursive alternative, they'll more than likely be capable of formulating the iterative version.I suspect the question has less to do with the actual solution implementation but more with determining whether the candidate
Though I also suspect that the minority of candidates actually arrive at this from first principles but only hit on this because of interview preparation.
So really what is largely being assessed is
So being asked to tweak the solution and being able to adapt is really the core of the interview.
Thanks for the notes 🤩, they’re helpful to me! ☺️
You’re right about the assessments of candidates. It’s the thought process and different approaches the candidates think of… that’s what interviewers look for!!