Assessment page icon left

Developers & Programmers Interview

Java Question(s) & Actual Evaluation

Assessment page icon right
* Please note that the following answer(s) are just sample answers from one of our candidates. It doesn't mean that it's the correct or wrong answer.
Please refer to the evaluation for more insight.


  • Classification: Developers & Programmers
  • Topic(s): Java
Interview Question:

Tell us about your experience with Java development.

Candidate's Answer:

I have about seven years experience in Java backend developmentAt a total of eight or nine years experienceI worked on a multi billion dollar order management system for a bankI am dealing with currency ordersAnd that system we built from scratchIt automatedThe pricing and scheduling of ordersAnd there was another system that we inherited from another teamSo that's two different types of software development there a surf the Greenfield development all and also they're working on a legacy CodeBase that we have to figure out how it works on your ownAnd I did maintenance on thatArm and supportThe order management systemWe eat so there is a lot of pricing calculations and testing using J unitsSo unit testing and 10 testing I also worked on a system at eBay for their marketing teamI am also using Java 1.8So that deals with the marketing messages on the emails homepage as well as the email marketing campaign and the push notifications in the app specifically I enabled the first push notification messages to be migrated to the new systemSo that'sOverall when I've done WesIt's an overview of my Java projectsSo I've dealt with I've had to analyze he dumps figure out why a crisis happenedImplements like automating a lot of business logic slowsI amRefactoring designing classes and trying to make sure that my interfaces are intuitive the code is simpleSo as far as that's the date today and that's how it went

Evaluation:

Your answer is very detailed and comprehensive, showcasing your extensive experience in Java development. You have mentioned your involvement in building a multi billion dollar order management system for a bank from scratch, which required you to automate pricing and scheduling of orders. This demonstrates your ability to handle complex projects and deliver them successfully.

You have also highlighted your experience in working with legacy codebases and your ability to adapt and understand them. This shows your versatility as a developer and your willingness to take on challenges. Your experience in unit testing and integration testing further demonstrates your knowledge and skills in ensuring the quality and functionality of the software.

Moreover, your experience at eBay shows your experience in working with large and diverse teams. Your role in enabling the migration of push notification messages to a new system showcases your problem-solving skills and your ability to work on critical projects.

To improve your answer, you could provide more specific examples or metrics to support your claims. For instance, mentioning the success rate of your projects, the size of the team you worked with, or the impact of your work on the overall system. This will make your answer more impactful and memorable.

Overall, your answer showcases your extensive experience, technical skills, and problem-solving abilities in Java development. I would rate your answer a 4.5/5.

  • Classification: Developers & Programmers
  • Topic(s): Java
Interview Question:

How do you ensure that your code is maintainable and easily understandable by other developers?

Candidate's Answer:

SoEarly in my career I focus more on making the coat easily understandable and maintainable by myself andThat does sometimes translates into being maintainable by othersI am so I can talk about that first and then say how I would adapt it to also be more understanding by other developers so a lot of what I do is variable namingIs and function naming is one of the keys there are studies that say thatStop them allSize of a variable name is I think eight to let something like it it's around 10 charactersSomewhere around thereBut sometimes you need a longer run sometimes a certain one is more appropriate but in general it's about that length andI try to keep my current code well organized I tend to prefer shorter functions but a lot of the idea is to just keep the related code group togetherNot switching back-and-forth between too many different tasksAnd doneI try to keep my code simpleSomeone said that the best developers are the ones to use just for a loop send if they'll send very simple constructs and that to me almost on the right track I'd like a little bit of the functional programming techniques like a map filter reduce but that's not essential I can adapt if people don't like thatJust use the four loops and if elseAnd then the other thing the other thing is that time I do that abstraction level does help itBut I like to let that emerge later on if it when you are able to see that it has real benefits. Making account more understandableI also like to do a lot my unit testing not only is it good for testing purposes but it provides code examples of how to use the APIs and when I design my interface there'sI want to make sure that it's intuitive and thatIt's easy to look at the function signatures and tell what the functions do and moreover that the user of my coach shouldn't have to look inside them at the implementation to figure out how to use itOn so those they're kind of another thing is I like to delete on any unused code making sure that it actually is on use in some cases there usually then that ID will tell you but not alwaysI amSo those are my techniques to make the code easily understandable by myself oh there's one moreWhich isI amSo I create kind of a higher level function that tells me what the overall flow of what my coat is doing his armSo step one like look up orders from database and then that could be a one function and then the next functionIs there a step two of the process and then step three and so on so I can quickly get an overall overview of what the car is doing so those are the ways that I make the Cody is it understand for myself and if it really does work I am I've had it come back to the code 6 months later and or more and I immediately am able to reconstructWhat the code is doing there is a script that I read factored initially I had to do all this work to figure out what it was doing in a group that into these functions where I amIt was easy to tellI am if I need to make a modification it was just very easy to see what the program was doing and see where where I needed to make the change so that it did save me a lot of time on and as far as adapting it to also be easier easily understandable by other developers I make adjustments to make during examples of my coding styleSo for exampleMy answers to long

Evaluation:

Your answer is well-structured and covers various aspects of making code maintainable and understandable. You start by emphasizing the importance of making code easily understandable by yourself first, which is a good approach. You mention using appropriate variable and function names, keeping code well-organized, and using simple constructs like for loops and if/else statements. These are all important techniques for improving code readability.

You also mention the importance of unit testing, not only for testing purposes but also for providing code examples of how to use APIs. This shows your understanding of the importance of having clear and intuitive interfaces.

One suggestion for improvement would be to provide a specific example of a situation where you had to make your code more understandable and how you approached it. This would add more depth to your answer and make it more relatable.

Another suggestion would be to mention the use of comments in your code. Although good code should be self-explanatory, comments can provide additional context and explanation for complex or tricky portions of code. This would show your understanding of the importance of clear documentation in code.

Overall, your answer is comprehensive and covers the key points of making code maintainable and understandable. I would rate it 4/5.