Candidatei-me online. Fui entrevistado pela Playtech (Tallinn) em mar. de 2025
Entrevista
My interview process with Playtech started off quite smoothly. My CV was reviewed quickly, and I was soon contacted for an initial video call interview with HR. The recruiter was very friendly, and the conversation was pleasant.
After that stage, I was invited to an on-site interview in Tallinn. The interview itself was standard: they explained the project to me, and I had the opportunity to talk about my experience. Then, they asked some technical questions, and at the end, they informed me that they would be sending me a take-home task.
Up to that point, everything was going well. However, after submitting the task, I noticed a lack of attention in their communication. Despite following up a couple of times to confirm that they had received my submission, it took several days for them to reply. Finally, 11 days later, I received a generic email stating that they would proceed with other candidates, without providing any feedback on my task or addressing my previous emails.
Overall, the process started well, but the lack of response and impersonal treatment at the final stage left a negative impression. Better follow-up and communication with candidates would significantly improve the hiring experience.
You are given code for class Dog:
public final class Dog {
private final String name;
private final List favouriteFoods;
public Dog(String n){
this.name = n;
this.favouriteFoods = new ArrayList();
}
public String getName(){
return name;
}
public void addFavouriteFood(String f){
favouriteFoods.add(f);
}
}
And also some code that used Dog class:
public static void main (String[] args){
Dog dog = new Dog("Max");
foo(dog);
System.out.println(dog.getName());
}
static void foo(Dog d){
System.out.println(d.getName());
d = new Dog("Fifi");
}
What will be output of running the main method? Explain your reasoning.
Have you heard about immutable objects and types?
What makes them special?
What are some of the benefits they offer?
Give examples of immutable classes in JDK.
Is above Dog class immutable?
Coding assignment:
Implement generic structure EvictionMap that acts as key-value map with following time-based eviction
policy: expire entry after the specified duration has passed since the entry was created,
or the most recent replacement of the value. Specify duration as EvictionMap constructor parameter.
Methods:
a) Creates value with specified key in this map. If the map previously contained a
value associated with key, the old value is replaced by new value:
public void put(K key, V value)
b) Returns the value associated with key in this map or null if no mapping exists
public V get(K key)
Provide at least one unit test that verifies time based eviction. Example test case:
1) Initiate map with duration of 10 seconds
2) Use "put" to insert one key-value item into the map
3) Use "get" to retrieve it back immediately - value should be still there
4) wait 11 seconds
5) Use "get" to retrieve by same key again - it should return null as entry has been evicted internally by map (cause eviction duration has already passed for the entry)
Things to consider when implementing:
- thread safety (depends on if/how you rely on threading)
- avoiding acquiring too much system resources
Additionally:
- make sure to provide unit tests
- add readme file to the project explaining your solution design and major decisions
- pay attention to coding style, formatting and general design
- deliver solution as zipped Maven or Gradle project, code written in Java. It should be easy to just import into any Java IDE, build and run tests!
- include only sources files and project files, no binary files
Please note that your eviction map could be used by long running applications and in various ways.
You can choose optimal generic implementation strategy for your solution.
As a bonus explain briefly other possible implementation strategies that maybe be more optimal for some extreme use cases. For example users may want to use your map with very large number of entries (above 100k) and/or long duration periods (in hours or days).
Candidatei-me online. O processo levou 2 semanas. Fui entrevistado pela Playtech (Tartu) em abr. de 2015
Entrevista
Asked questions from very different subjects and had a very friendly attitude. Some programming tasks were given, but they were not difficult if you already had done the test assignment. The test assignment code was also discussed and friendly advice was given on what to improve.
Candidatei-me por meio de recrutador(a). O processo levou 1 dia. Fui entrevistado pela Playtech (Londres, Inglaterra) em dez. de 2014
Entrevista
There was no phone interview. I received a written test to complete in 30 or 45 minutes (can't remember) and after that we had discussions based on the test results.
They went through my CV and asked questions based on that.
I was also asked about my previous experience and technologies used in previous job.