Test details
Discover advanced techniques and technical implementations of Java, to improve your level !
Craftsmanship trivia and katas related questions also made an appearance in this quizz !
Test author : Ippon
Ippon is an IT consulting company that splits its skills learning groups in Practices. At Ippon, a Practice is an an organisation that structures its competences to bring value to its clients. Their expertise is the heart of their jobs. They value knowledge and skills of every member of the Practice.
Practice are then communities, to enable everyone to meet experts with the same areas of interest. The fullstack community has a lot in common with the Craftsmanship community for instance.
Training is key! The fullstack Practice animates the Fullstack Black Belt.
Belts are auto-training journeys. Every collaborators works to take a Belt, accordingly to its professional project. A developer can decide to take an Agile Belt and will be accompanied by a Mentor of the Agile Practice to do so. Taking a Belt can take from a month to severaly years, even for experts. When the collaborator gets its Belt, the Belt is given to him on a ceremony on the tatami (!).
This auto-training and competence sharing with its peers is very important for Ippon. That's because they think that auto-training is a manifestaion of will to learn and match the state of mind of Ippon.
Colin is a Craftsman Developer at Ippon's Lyon agency. He's very involved in Lyon's tech communities, particularly in the Software Crafters Lyon meetup https://www.meetup.com/fr-FR/Software-Craftsmanship-Lyon/).
What's next?
Feel free to participate in Ippon's Twitch streams to give them feedback on this questions. To know more about Ippon, visit their page on WeLoveDevs.com (https://welovedevs.com/app/company/ippon)
Sample question
This code
SimpleDateFormat format = new SimpleDateFormat("DD");
ExecutorService executor = Executors
.newFixedThreadPool(10);
Set<Future<String>> days = Collections
.newSetFromMap(new ConcurrentHashMap<>());
IntStream.range(1, 32)
.forEach(day -> {
Future<String> result = executor.submit(() -> {
Date date = new GregorianCalendar(2021,
Calendar.JANUARY, day).getTime();
return format.format(date);
});
days.add(result);
});
Set<String> results = days.stream()
.map(return result -> {
try {
return result.get();
} catch (InterruptedException | ExecutionException e) {
throw new AssertionError(e);
}
})
.collect(Collectors.toSet());
Recommended tests
- Our interview questions for developer
- Our interview questions for Développeur Back-end