Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases now! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
The Complete Coding Interview Guide in Java

You're reading from   The Complete Coding Interview Guide in Java An effective guide for aspiring Java developers to ace their programming interviews

Arrow left icon
Product type Paperback
Published in Aug 2020
Publisher Packt
ISBN-13 9781839212062
Length 788 pages
Edition 1st Edition
Languages
Arrow right icon
Author (1):
Arrow left icon
Anghel Leonard Anghel Leonard
Author Profile Icon Anghel Leonard
Anghel Leonard
Arrow right icon
View More author details
Toc

Table of Contents (25) Chapters Close

Preface 1. Section 1: The Non-Technical Part of an Interview
2. Chapter 1: Where to Start and How to Prepare for the Interview FREE CHAPTER 3. Chapter 2: What Interviews at Big Companies Look Like 4. Chapter 3: Common Non-Technical Questions and How To Answer Them 5. Chapter 4: How to Handle Failures 6. Chapter 5: How to Approach a Coding Challenge 7. Section 2: Concepts
8. Chapter 6: Object-Oriented Programming 9. Chapter 7: Big O Analysis of Algorithms 10. Chapter 8: Recursion and Dynamic Programming 11. Chapter 9: Bit Manipulation 12. Section 3: Algorithms and Data Structures
13. Chapter 10: Arrays and Strings 14. Chapter 11: Linked Lists and Maps 15. Chapter 12: Stacks and Queues 16. Chapter 13: Trees and Graphs 17. Chapter 14: Sorting and Searching 18. Chapter 15: Mathematics and Puzzles 19. Section 4: Bonus – Concurrency and Functional Programming
20. Chapter 16: Concurrency 21. Chapter 17: Functional-Style Programming 22. Chapter 18: Unit Testing 23. Chapter 19: System Scalability 24. Other Books You May Enjoy

Time to write your resume

Writing an impressive resume is not easy. There are tons of platforms that promise you that your resume will be amazing if you let them do it for you. There are also tons of resume templates, most of them quite complex and cumbersome. On the other hand, a resume is something personal, and it is better to do it yourself. Bearing the following points in mind will be enough to produce an appealing resume for recruiters. Let’s see these points and how to approach them.

What resume screeners are looking for

First, resume screeners want to find out whether you are a good coder and you are smart. Second, they want to find out if you are a good fit for a certain available position (they check your experience against certain technologies and tools required for that position).

Strive to highlight that you are a good coder and are intelligent. This means being as technical as possible in a concentrated form. Pay attention: too many words dilute the essence of your resume and lead to loss of focus. Be technical, clear, and concise.

How long the resume should be

To answer how long a resume should be, you must answer another question: how long do you think a recruiter spends reading a resume? Most likely, around 10-20 seconds. In other words, recruiters read between the lines, trying to quickly identify what interests them.

In general, a resume should not be longer than a page. If you have 10+ year's experience, then you can go with 2 pages.

You may think that it is impossible to condense your vast experience in 1-2 pages, but this is not true. First, prioritize content, and second, add this content until you cover 1-2 pages. Skip the remaining content. Don’t worry that the recruiters will not know everything you’ve done! They will be impressed by your resume highlights and will be happy to discover the rest of your experience in the interview.

Write a resume that fits on one page.

If you have 10+ years of experience, then consider two pages. Keep in mind that some recruiters may skip long resumes without reading a single line. They want to find the most impressive items right away. Adding less important items and/or too many words will distract the recruiter and makes them waste time.

How to list your employment history

If you have a short employment history (2-4 roles), then add all of it to the resume. Don’t go for your complete employment history if you have a long list of roles (4+ roles). Just choose 4 roles that are the most impressive (roles in important companies, leading roles, roles where you have achieved great results and/or made significant contributions).

For each role, follow the Achievement->Action->Effect model. Always start with the achievement! This will act as a magnet for the recruiter. Once they read the achievement, you’ve got their attention to continuing reading.

For example, let’s imagine that you worked at the company Foo and you’ve managed to increase the performance of the connection pool by 30% by tuning its parameters. Now the application can accommodate a transaction throughput of 15% extra. Add this achievement in the resume in a single statement as follows:

Increased the connection pool performance by 30% by tuning its parameters, leading to a transaction throughput boost of 15%.

List the most relevant roles via Achievement->Action->Effect statements. Always try to measure the benefits you created. Don’t say, I reduced the memory footprint by compressing ..., and say, I reduced the memory footprint by 5% by compressing ....

List the most relevant projects (top five)

Some recruiters prefer to jump in directly into the My Projects section of your resume. They follow the No Fluff, Just Stuff statement. You don’t have to list all your projects! Make a top five and add only those. Don’t add all five from the same category. Choose one or two independent projects, one or two open source contributions, and so on. An independent project with a high GitHub star rating is what will really impress recruiters.

List the top projects with their relevant details. This is the right place to lose the modesty and do your best to impress.

Nominate your technical skills

The Technical Skills section is mandatory. Here, you have to list the programming languages, software, and tools you know. It doesn’t have to be like a nomenclature, but it doesn’t have to be a short and slim section either. It has to be relevant and in harmony with the listed projects. The following list mentions the main criteria to follow in writing the Technical Skills section:

  • Don’t list all Java flavors: Don’t add a list such as Spring MVC, Spring Data, Spring Data REST, Spring Security, and so on. Just say Spring. Or, if you are Java EE guy, then don’t add a list of JPA, EJB, JSF, JAX-RX, JSON-B, JSON-P, JASPIC, and so on. Just say Java EE, Jakarta EE. Or, if you see them listed that way in the job description, then you can add them between brackets. For example: Spring (MVC, Data including Data REST, Security) or Java EE (JPA, EJB, JSF, JAX-RX, JSON-B, JSON-B, JASPIC).
  • Do not add software versions: Avoid things like Java 8, Spring Boot 2, or Hibernate 5. If such details are necessary, then the interviewer will ask you about them.
  • Don’t list utility technologies: Avoid listing utility libraries that are commonly used in projects. For example, don’t add Apache Commons, Google Guava, Eclipse Collections, and so on. It is possible that recruiters have not heard of them. Or, if they have, they will smile ironically.
  • Don’t list the technologies that you have only lightly touched: It’s quite risky to list technologies that you’ve used only rarely and/or superficially. At the interview, you may get asked questions about them that will put you in a difficult situation.
  • For each technology, add your experience: For example, write Java (expert), Spring Boot (advanced), Jakarta EE (proficient), Hibernate (expert).
  • Do not measure your experience with a technology in years: Most of the time, it’s not relevant. This metric doesn’t say much to the recruiter. Your experience is shown by your projects.
  • Avoid common technologies: Don’t list operating systems, Microsoft Office, Gmail, Slack, and so on. Listing such things is just noise for the recruiter.
  • Double-check your English: A recruiter can throw away a resume if it has typos. If you are a non-native English speaker, then find a native English speaker to proofread your resume.
  • Don’t list a single programming language: Ideally, you should list two to three programming languages (for example, Java (expert), C++ (medium), Python (prior experience)), but don’t say that you are an expert in all of them. Nobody will believe you! On the other hand, a single programming language can be interpreted as meaning that you are not open to learning new technologies.
  • Split technologies into categories: Don’t add the technologies as a long, comma-separated list. For example, avoid something like Java, Ruby, C++, Java EE, Spring Boot, Hibernate, JMeter, JUnit, MySQL, PostgreSQL, AWS, Ocean, and Vue.js. Split them into categories and sort them by experience, as in the following example:

    a. Programming languages: Java (expert), Ruby (intermediate), and C++ (beginner)

    b. Frameworks: Java EE (expert), Spring Boot (advanced)

    c. Object Relation Mapping (ORM): Hibernate (expert)

    d. Testing: JMeter (expert), JUnit (advanced)

    e. Databases: MySQL (expert), PostgreSQL (intermediate)

    f. Cloud: AWS (expert), Ocean (beginner)

    g. JavaScript frameworks: Vue.js (intermediate)

LinkedIn resume

Most likely, your LinkedIn profile will be the first stop for recruiters. Moreover, a significant number of e-job platforms require your LinkedIn account whenever you try to apply for a job. There are even cases where this account is mandatory.

LinkedIn is a social network dedicated to tracking professional connections. Essentially, LinkedIn is an online resume on steroids. On LinkedIn, you can create job alerts, and colleagues, customers, and friends can endorse you or your work, which can be quite valuable.

Important note

Pay attention to keeping your LinkedIn resume in sync with your paper resume. Also, pay attention if you are looking for a job via LinkedIn since all your contacts receive notifications about your updates. These contacts include people at your current company, and most likely, you don’t want them to know you’re looking for a new job. The solution is to disable these notifications before you make your updates.

Now, we can discuss the job application process.

You have been reading a chapter from
The Complete Coding Interview Guide in Java
Published in: Aug 2020
Publisher: Packt
ISBN-13: 9781839212062
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime