Sent codescreen which is an complete application. I was able to finish and submit in the given time. They never came back, they simply ghosted. Its waste of my time, I would have prepared something better.
Interview questions [1]
Question 1
Some movie matcher program, Compare data from external providers with internal data.
I applied online. I interviewed at Real in Jul 2024
Interview
As several others already described, their initial step is completion of a coding assignment. Your work is then submitted to what seems like a very nit picky review process.
As a developer with decades of experience, and scoring a perfect 400 on the Sun Certified Java Developer certification, I was quite surprised I didn't pass due to my code being "hard to read".
I added javadoc, named things more descriptively than their provided class name suffixed with "Impl", followed OO design concepts of loose coupling & tight cohesion, commented where appropriate, and implemented factory method and strategy design patterns for ease of extensibility. I also included a readme-like file explaining my design decisions. Given I'm currently employed and could only dedicate so much time to the project, I recognized there were still some short comings and extra features I could have implemented.
None of that though was apparently enough to overcome their very subjective definition of readable code. I'm not above not being selected for a very competitive position, but when I asked for more details on my review, issues with "hard-codings" (yes, plural, from the reviewer) and code readability was all I got...weird.
I do understand that they created the coding assignment tailored to what they're specifically looking for, with requirements vague enough as to not totally give away their passing criteria. But IMHO I'm guessing they're hyper-focusing on aspects that most may not consider important enough to spend the time on.
Interview questions [1]
Question 1
Coding assignment to read in data from two different CSV files and implement a provided interface to match records between them. The the provided unit test must pass, and one is encouraged to add more unit test cases.
I applied online. The process took 4 weeks. I interviewed at Real in Apr 2024
Interview
It starts with a recruiter call, where they ask the typical questions about experience and match potential. Then, the recruiter asked about my Spring and Spring Boot (the Java web framework) experience, and a handful of gotcha type questions to see how well you have memorized Spring. They also ask several questions which begin with "how well do you know XYZ."
After this, you are given a take-home assignment through a platform called CodeScreen. This generates a GitHub repository for you with Maven, and a few classes and interfaces and a README. The text in the README is a bit rude, with something like "we like you enough for you to do this exam." There is a single mandate and requirement in the README - "make the test pass". The code is a bit odd from a high level, and the test itself has a few assertions. There is no Javadoc or API contracts to clarify the ambiguous requirements.
"Make the test pass" means implement some CSV parsing and searching logic and returning some "matches". You are (supposedly) evaluated on extensibility, scalability, tests, and some other ill-defined requirements. I think the recruiter said it would take "2 hours", but in reality it is about a day of work. There are several CSV files with 100s of thousands of lines, of again, undefined schema.
After this, there would be an in-person code review, system design, and a CTO meeting. For me, I submitted my assignment and heard back 11 days later that they were pursuing other candidates that "more closely align with the role". Honestly, quite disrespectful of somebody's time to have a poorly written, ambiguous, undocumented code screening and then waste somebody's time with a default response like the above.
Implementing a matching algorithm for ingesting multiple CSV data sources files and then identify a set of unique "matches" by correlating them with another CSV data file.