This is a small app that's meant to extract interesting words and phrases from a body of text. However, unfortunately, it's not very good! What a shame.
Try and make some improvements, and then zip the folder up and send it to the member of the Brandwatch recruitment team you are in contact with. From here it will be forwarded to our engineers to review.
But what should I improve, I hear you cry? Well, it's up to you. Use this as an opportunity to showcase your expertise. You might be an NLP expert, concurrency wizard or REST API genius. If you're stuck for where to start, then here are some suggestions that could help you get off the ground:
- The code currently only extracts words, and it doesn't do it very well. How can you make it better?
- This is a single-threaded program. Is it possible to speed it up by splitting the job across threads?
- The code was written by a naughty developer who didn't write any unit tests. Can you improve the code coverage?
- What other methods could you use to input data to the program?
When our engineers receive this, we'll be looking at the following things:
- The ability to build it out of the box using maven
- The quality and style of code written
- The tests and their structure and coverage
- The choice of technologies used to complete the task
- The documentation provided
Typically we expect it to compile and run on a Linux environment with Java 8. If your set up is any different, do let us know!
Good luck, and may the topics be with you.