Kotlin Learning Courses News

Practice Coding Interview Algorithms in Kotlin

Read this post in other languages:

I’ll say it: preparing for interviews is not fun.

Even after hours of preparation, it’s hard to know when you’re really ready. There are always more exercises to do, more techniques to review, and how can you be sure you haven’t missed some obscure algorithm known only to technical interviewers?

For people with some programming experience, preparation materials must strike a delicate balance between challenging and refreshing their knowledge of the most important techniques, staying careful not to waste their time with exercises that are too easy or too hard. If you’re a beginner at the start of your interview journey, it can be hard to feel confident that you’re learning everything you’ll need without interview prep turning into a full-time job in its own right. When faced with a screen of 50 exercises and a frustratingly cheery “Good luck!”, many people quit before they even begin.

The Algorithmic Challenges in Kotlin course was created as a free solution to these problems. The exercises cover over 30 algorithms and were carefully designed by experienced professionals who understand the ins and outs of interview prep. By following the natural pace of the course you can avoid getting overwhelmed and make efficient progress in building confidence and expertise for your coming interviews.

If you are unfamiliar with Kotlin, you can first check out the Kotlin Onboarding: Introduction course, which will provide you with everything you need to complete this course.

Practice in your IDE

Topic by topic, you’ll be able to practice essential algorithmic techniques directly in your IDE, with built-in support for displaying task descriptions and automatic grading. Save time and brainpower using the productivity tools built into IntelliJ IDEA, including:

  • Code inspections
  • Auto-completion and code analysis on the fly
  • Refactoring tools
  • Testing and debugging

Course contents

The course will give you practice in applying algorithmic techniques such as:

  • Brute force
  • Greedy algorithms
  • Divide and conquer
  • Dynamic programming 

In doing so, you’ll also learn to write clean, efficient code, which will be rigorously tested for edge cases and efficiency when applied to large datasets.

Implement in Kotlin

Kotlin was developed in 2010 and has a concise and expressive syntax, meaning you can focus more on understanding algorithmic techniques rather than fighting with brackets, null errors, and slow compilation time. You’ll find Kotlin being used by backend, fullstack, mobile, and cross-platform developers working for major companies like Amazon, Uber, and Trello. By preparing for your interviews in Kotlin, you’ll enhance your interview skills and become even more proficient in this modern and versatile programming language.

We suggest completing the Kotlin Onboarding: Introduction course first if you don’t yet have experience coding in Kotlin.

Start today for free!

Access Algorithmic Challenges in Kotlin today by following these steps:

  1. Download either IntelliJ IDEA Community Edition (completely free) or IntelliJ IDEA Ultimate (available with a 30-day free trial).
  2. Go to the Learn tab on the Welcome screen.
  3. Enable access under Learn to Program.

From there you’ll be able to find the course by locating it in the list of Marketplace courses.

If you have any questions or would like to share your feedback, feel free to leave a comment below or contact us at academy@jetbrains.com.

Happy learning!

Your JetBrains Academy team

Meet the course authors

Alexander S. Kulikov holds Ph.D. and Dr.Sci. degrees from Steklov Mathematical Institute. He serves as the head of the Laboratory of Algorithms and Complexity Theory at JetBrains Research. Alexander co-authored the Data Structures and Algorithms and Introduction to Discrete Mathematics for Computer Science online courses that are available at Coursera and edX.

Take a look at The Satisfiability Problem lecture to get a feel of Alexander’s teaching style.

Niyaz Nigmatullin is a software engineer at JetBrains’ Applied Program Analysis Laboratory. He used to research and develop compression algorithms and data-storing techniques. He teaches algorithms and data structures, competitive programming, as well as organizes various programming competitions. He was named world champion in both 2012 and 2013 at the highly prestigious competitive programming competition, the ICPC (International Collegiate Programming Contest).

Pavel Mavrin is an expert in algorithms and data structures. Pavel has participated in many programming competitions. His most prestigious title is ICPC World Champion 2004.

Watch Pavel’s Parallel algorithms lecture to get to know what to expect from him as your future professor.