Book Image

The Complete Coding Interview Guide in Java

By : Anghel Leonard
Book Image

The Complete Coding Interview Guide in Java

By: Anghel Leonard

Overview of this book

Java is one of the most sought-after programming languages in the job market, but cracking the coding interview in this challenging economy might not be easy. This comprehensive guide will help you to tackle various challenges faced in a coding job interview and avoid common interview mistakes, and will ultimately guide you toward landing your job as a Java developer. This book contains two crucial elements of coding interviews - a brief section that will take you through non-technical interview questions, while the more comprehensive part covers over 200 coding interview problems along with their hands-on solutions. This book will help you to develop skills in data structures and algorithms, which technical interviewers look for in a candidate, by solving various problems based on these topics covering a wide range of concepts such as arrays, strings, maps, linked lists, sorting, and searching. You'll find out how to approach a coding interview problem in a structured way that produces faster results. Toward the final chapters, you'll learn to solve tricky questions about concurrency, functional programming, and system scalability. By the end of this book, you'll have learned how to solve Java coding problems commonly used in interviews, and will have developed the confidence to secure your Java-centric dream job.
Table of Contents (25 chapters)
1
Section 1: The Non-Technical Part of an Interview
7
Section 2: Concepts
12
Section 3: Algorithms and Data Structures
19
Section 4: Bonus – Concurrency and Functional Programming

The job application process

Technical companies prefer multi-step interviews. But, before getting invited to an interview, you have to find companies that are hiring, apply for their jobs, and then finally meet them.

Finding companies that are hiring

Surveys from the past few years (2017+) estimate that 70%-85% of all jobs are filled via networking (linkedin.com/pulse/new-survey-reveals-85-all-jobs-filled-via-networking-lou-adler/). Technical jobs (especially in the IT field) represent the leading segment that takes advantage of networking.

In almost any country, there are several e-jobs platforms. Let’s call them local e-jobs platforms. Commonly, the local e-jobs platforms list job offers from companies active in that country, or companies that recruit globally.

Worldwide, we have global e-jobs platforms. These platforms include several major players (all these websites allow you to upload your resume or create one online):

  • LinkedIn (linkedin.com): With more than 610 million users covering more than 200 countries worldwide, this is the world’s largest professional network and social recruiting platform.
  • Indeed (indeed.com): This is a leading job site with millions of jobs harvested from thousands of websites.
  • CareerBuilder (careerbuilder.com): This is another huge platform that posts tons of jobs from all around the globe.
  • Stack Overflow (stackoverflow.com/jobs): This is the largest, most trusted online community for developers to learn, share their programming knowledge, and build their careers.
  • FlexJobs (flexjobs.com) and Upwork (upwork.com): These are platforms dedicated to freelancers that offer premium, flexible remote jobs.

Other platforms that provide services useful for finding a job include the following:

  • Dice (dice.com): This is the leading career destination for tech experts at every stage of their careers.
  • Glassdoor (glassdoor.com): This is a complex platform including company-specific ratings and reviews.

In addition to these platforms, there are many others that you will discover by yourself.

Submitting the resume

Once you’ve found the companies you want to apply to, it’s time to submit your resume.

First, look at the company’s website. This can help you to find out the following:

  • See if you can apply directly via the company website (by bypassing the placement agency, you can speed up the process and the company can hire you directly without paying commission to the placement agency).
  • You can register in the company database to be contacted whenever a suitable position is opened.
  • You have the chance to find out more about the company history, vision, projects, culture, and so on.
  • You can find out contacts of relevant people at the company (for example, you can find a phone number for details and support).

Second, double-check your resume and online profile. Most likely, if your resume impresses the recruiter, they will search your name on Google and will inspect your networking activity. From technical content to social media, everything will be scanned before sending you an interview offer.

Third, don’t send the exact same resume to all companies! For each company, make adjustments to the resume so it is as relevant to the job description as possible.