DEVELOPER APPLICATION In order to apply for a developer position at Dyescape, please submit the below form in all honesty. All applications are private and can only be seen by Dyescape Staff Team. A submitted application with correct answers is no golden ticket to becoming a developer. You will still be asked to build a piece of software, which will put your skills to the test. Note that all technology positions — developers & administrators — require you to be at least 18 years of age and must be able to physically sign a non-disclosure agreement. Personal information Name: Minecraft username: Age: Country of residence: Timezone: Work availability per week: How long have you been playing Minecraft?: Hobbies: Personal interests / future goals: What is your dream job?: What other games do you play?: Portfolio Previous jobs (technology related): Personal projects: Open source contributions / projects: Technology stack: List all of the technologies that you've worked with. Think of languages, frameworks, components, etc: You need to store a billion (JSON) documents and you must be able to query them within milliseconds. What technology do you use?: You have a set of micro services that need to indirectly exchange events with each other, what technology do you use?: Design patterns Name three commonly used programming design patterns and shortly describe their use case: Design principles Explain the benefits of following the SOLID design principles: Explain a use case for the Single responsibility principle: Open-closed principle: Liskov substitution principle: Interface segregation principle: Dependency inversion principle: Testing Imagine a complex domain that needs to heavily be unit tested. How would you name your classes and functions so that it does not only not become confusing to maintain, but also make a generated report understandable to non-developers?: Which of the earlier described SOLID design patterns make unit testing easier?: What do you think is the minimum percentage of code coverage that an application should have?: Quality control Build a list of acceptance criteria which you would consider a 'definition of done' which must be met for someone's task to be considered completed: HTTP APIs The following URL structure does not comply with RESTful standards: /getplayer/{playerid}/getcharacter/{characterid}. Explain why: Imagine a micro service architecture with dozens of small public RESTful APIs. All API calls must be locked down behind user authorization. How would you achieve this?: Infrastructure & environments Explain the difference between using Docker and a Virtual Machine: Explain Kubernetes: Security & awareness What do you think is the most common cause of software being hacked (data leaks, defaces, shells)?: Identify your (GDPR definition) personal data in this form: In Java, why is it safer to assign passwords to a character array rather than a string?: Name a set of security actions which one should take to make a Kubernetes cluster more secure (from any kind of attack): How would you report a discovered potential security risk? Submit the form by creating a new thread under this forums category or by emailing it to [email protected].