athenahealth logo

Athenahealth Interviews

2 experiences13 reads22 questions50% success rate
Athenahealth | MTS | Interview Experience
athenahealth logo
Athenahealth
member of technical staffOffer
September 12, 202510 reads

Summary

I applied for a Member of Technical Staff (Java Backend) role at Athenahealth and navigated through four comprehensive interview rounds, successfully receiving an offer after a process spanning approximately 45 days.

Full Experience

I directly applied on Athenahealth's career website for a Member of Technical Staff (Java Backend) position within the platform organization's event notification team. After about a week, I received a call from the recruiter stating they wanted to move forward, and my first round was scheduled four days later.

Round 1 - Technical Interview (60 minutes)

This round, led by a Lead Member of Technical Staff, extended to 75 minutes. It comprised a mix of technical questions and two DSA problems. Although I was able to think of the correct approach for the first DSA problem, which was similar to LeetCode 84. Largest Rectangle in Histogram, I had some bugs while coding. Overall, it was a positive experience, and the interviewer was very helpful and kind. After a few hours, the recruiter coordinator informed me I had cleared this round and scheduled my second round.

Technical Questions:

  • How to prevent race conditions during concurrent updates?
  • N + 1 problem in Hibernate.
  • Transactional annotation isolation levels.
  • Eager initialization and lazy initialization.
  • Internal working of HashMap.
  • Design Patterns - Builder, Singleton.
  • Project high-level architecture.

DSA Problems:

  1. Thief and Warehouses
  2. Alice and String Game

Round 2 - Technical Interview (60 minutes)

My second round was with a Principal Member of Technical Staff, who had 15 years of experience within the same company. This was an open-ended yet challenging design round. After introductions, he gave me a problem to design a basic calculator for huge numbers, where each number could go up to billions or trillions. We discussed various advanced topics including storing blobs in S3, chunking file content, FFT, quantum computing, JDK, blocking and non-blocking I/O, async API, SNS, Kafka Topic, and virtual threads. This round really pushed me out of my comfort zone. After a couple of days, the recruiter coordinator informed me I had progressed to the next, managerial round.

Round 3 - Managerial Round (60 minutes)

This interview was conducted by a Senior Manager of Engineering, who was also the Hiring Manager for the team. I was asked a bunch of behavioral questions. Towards the end, he spoke in depth about the team structure, work policies, the product I would be working on, and the expectations for an ideal candidate. The manager was very friendly and sound both technically and product-wise.

Behavioral Questions:

  • What is the most complex project you have worked on? Deep dive a little bit into it.
  • What would you do when you raise a PR and the reviewer comments change that could not work in your case?
  • How are things different back when you joined the company and presently?
  • How do you handle a situation where your idea and your manager's idea on developing a solution are different?

Round 4 - HR Round (30 minutes)

Around 10 days after the previous email, the recruiter called for an HR discussion regarding my interview experience, background, role, company policies, and the offer proposal. The entire process took approximately 45 days, and I subsequently received an email for required documents and details to generate the offer, alongside another email for the Background Verification process.

Interview Questions (14)

Q1
Prevent Race Conditions During Concurrent Updates
Other

How do you prevent race conditions when dealing with concurrent updates in a system?

Q2
N+1 Problem in Hibernate
Other

Explain the N+1 problem in Hibernate and how to mitigate it.

Q3
Transactional Annotation Isolation Levels
Other

Discuss the different isolation levels available with transactional annotations and their implications.

Q4
Eager and Lazy Initialization
Other

Explain the concepts of eager initialization and lazy initialization, and provide examples of when to use each.

Q5
Internal Working of HashMap
Data Structures & AlgorithmsMedium

Describe the internal working mechanism of a HashMap, including collision resolution and resizing.

Q6
Design Patterns: Builder and Singleton
Other

Explain the Builder and Singleton design patterns, their use cases, advantages, and disadvantages.

Q7
Project High-Level Architecture
System Design

Discuss the high-level architecture of a project you have worked on.

Q8
Thief and Warehouses
Data Structures & Algorithms

Chef has N warehouses. Each warehouse has some quantity of food. Chef hires M thieves. Each thief has some capacity. A thief can take food from only one warehouse, but he can take it from any warehouse. Chef gives some money to each thief and a maximum quantity of food which can be carried by a thief. Each thief can steal at most W kilograms of food. Chef wants to maximize the total amount of food stolen. Find the maximum amount of food that can be stolen.

Q9
Alice and String Game
Data Structures & AlgorithmsEasy

Alice and Bob are playing a game with a string S of length N. The string S consists of lowercase English letters. Alice and Bob take turns to play the game. Alice plays first. In each turn, a player can choose any character and replace it with any other character such that the new character is lexicographically greater than the original character. For example, 'a' can be replaced by 'b', 'c', ..., 'z'. 'b' can be replaced by 'c', 'd', ..., 'z', and so on. The player who cannot make a move loses. Determine who wins if both play optimally.

Q10
Design Calculator for Huge Numbers
System DesignHard

Design a basic calculator capable of performing fundamental arithmetic operations (addition, subtraction, multiplication, division) on extremely large numbers, potentially up to billions or trillions. Consider challenges related to data storage, arithmetic precision, performance, and handling very long integer inputs.

Q11
Most Complex Project Deep Dive
Behavioral

What is the most complex project you have worked on? Please deep dive a little bit into its details, challenges, and your contributions.

Q12
Handling PR Reviewer Comments
Behavioral

What would you do when you raise a Pull Request (PR) and the reviewer comments suggest changes that you believe could not work in your specific case or context?

Q13
Company Evolution Reflection
Behavioral

How are things different in the company/team presently compared to when you first joined?

Q14
Disagreement with Manager on Solution
Behavioral

How do you handle a situation where your idea for developing a solution differs significantly from your manager's idea?

ATHENAHEALTH | MTS | CHENNAI | GHOSTED
athenahealth logo
Athenahealth
Member Technical StaffChennai3.5 yearsRejected
December 1, 20243 reads

Summary

I had an interview experience for the Member Technical Staff role at Athenahealth in Chennai, which consisted of an online assessment and two technical discussion rounds. I successfully cleared the initial rounds but was unfortunately ghosted after the final technical discussion.

Full Experience

My interview journey with Athenahealth for the Member Technical Staff role in Chennai, with 3.5 years of experience, started with an Online Assessment.

1st Round: Online Assessment

In this round, I encountered two coding challenges. The first problem asked me to find the length of the longest subsequence of string X which is a substring in sequence Y. The second was described as a tricky array question, which I don't recall the specifics of. I successfully cleared this round.

2nd Round: Technical Discussion 1

This round involved a mix of theory and practical coding. I was asked a few theory questions on Java and SQL. Following that, I had to write Spring Boot REST CRUD APIs for an employee database. There were also two specific coding questions: one was the classic LeetCode problem "Longest Substring Without Repeating Characters", and the other required me to implement Merge Sort. Finally, I had to write an SQL query based on a self-join. I was selected to proceed to the next round.

3rd Round: Technical Discussion 2

The final technical round began with a coding question: given two maps, I needed to return a new map with elements from both, excluding any common keys. This was followed by a Low-Level Design (LLD) question to design a restaurant ordering system, where I had to outline the DB schema, classes, microservice design, and APIs. Although I provided a good design, I struggled when asked to write some queries based on my schema. The interviewer also inquired about the data structure I would use for autocomplete search functionality for restaurants by location. Additionally, there were some theory questions on DNS and API Gateway.

Ultimately, after this round, I was ghosted by the company.

Interview Questions (8)

Q1
Longest Subsequence of X that is Substring of Y
Data Structures & Algorithms

Given two strings X and Y of length N and M respectively. The task is to find the length of the longest subsequence of string X which is a substring in sequence Y.

Q2
Spring Boot REST CRUD APIs for Employee DB
Other

Design and implement Spring Boot REST CRUD APIs for an employee database.

Q3
Longest Substring Without Repeating Characters
Data Structures & AlgorithmsMedium

Find the length of the longest substring without repeating characters. This is a classic problem often found on platforms like LeetCode.

Q4
Implement Merge Sort
Data Structures & Algorithms

Implement the Merge Sort algorithm.

Q5
SQL Query with Self Join
Other

Write an SQL query involving a self-join.

Q6
Merge Maps Excluding Common Keys
Data Structures & Algorithms

Given two maps with some key-value pairs, return a new map containing elements from both maps but excluding any keys that are common to both.

Q7
Low-Level Design: Restaurant Ordering System
System DesignHard

Design a restaurant ordering system. This includes designing the database schema, defining classes, outlining microservice architecture, and specifying APIs.

Q8
Data Structure for Autocomplete Search (Restaurant Location)
Data Structures & Algorithms

Which data structure would you use to implement an autocomplete search functionality for searching restaurants by location?

Preparation Tips

Reflecting on my experience, a key learning point was the importance of thorough SQL knowledge and diverse data structures. I believe fumbling one SQL query and not knowing the Trie data structure for the autocomplete search contributed to my outcome. I regret not having studied Trie DS more thoroughly.

Have a Athenahealth Interview Experience to Share?

Help other candidates by sharing your interview experience. Your insights could make the difference for someone preparing for their dream job at Athenahealth.