AthenaHealth Interview Experience (On – Campus)

Round 1: Hakerrank – 12 Questions – 90 mins  

10 MCQ: Based on core subjects like OS, CN, and OOPS concepts. Also, Code related questions to predict the output of the given code.

2 Coding Questions:

  1. Profit Target: Given an array of n elements where each element gives the yearly profit of a corresponding stock, find the max number of distinct pairs (pairs differing in at least one element) from the array that adds up to the given profit target.

    Sample Input 1:

    [1,3,46,1,3,9] , sum = 47
    possible pairs are: (1,46), (46,1), (46,1), (1,46)  
    indexes:  [0][2]  [2][0]  [2][3]  [3][2]
              - four times due to repetition of '1'
              - return only once - (46,1)
    Hence, output = 1

    Sample Input 2:



    [5,7,9,13,11,6,6,3,3] sum = 12
    possible pairs are: (5,7), (7,5), (9,3), 
                        (9,3), (3,9), (9,3),
                        (6,6), (6,6)
    indexes: [0][1] [1][0] [2][7] [2][8] 
             [7][2] [8][2] [5][6] [6][5]
             return only distinct - (5,7), (9,3), (6,6)
             Hence, output = 3
  2. Simple Max Difference: Given an array of size n where elements are closing prices of a particular stock on n days in order, find the maximum profit spread of the stock. Profit spread it the difference between the closing price of a day and the closing price on any of the previous days in history. If the prices remain flat or are continuously decreasing, return -1.

    Sample input 1:

    [7,1,2,5]  
        1<7 -> continue;
        2>1 -> 2-1 = 1 : diff
        5>2 -> 5-2 = 3
        5-1 = 4 : maximum diff = output

    Sample Input 2:

    [7,5,2,1]
        5<7 , 2<5 , 1<2 -> continuously decreasing : return -1;

Round 2: Technical Interview on Hakerrank CodePair – 60 mins

  1. Based on projects – Blockchain

    • What is blockchain?
    • How is it useful?
    • How does it ensure data confidentiality and integrity
    • Explain its working.
  2. Based on projects – MEAN Stack

    • What did you do?
    • What is mongo?
    • What do you know about nonstructural databases?
  3. Based on programming languages – C, C++, Java

    • What is the difference between C, C++, and Java?
    • What are object-oriented and procedural languages?
    •  Is java a true object-oriented language? Is C++? Explain.
    •  If yes, then how does java use primitive data types like int and char?
    •  What is the difference between Integer Class and int data type?
    •  For particular application development, how would you choose between C++ and Java  
    • What constraints would you focus on for the selection?
    • What are pointers and how is the memory allocated for them?
    • What is the problem with pointers – why were they removed when java was built?
    • What are the Object-oriented concepts?
    • Explain the difference between Encapsulation and Abstraction
    • What is Inheritance?
    • What are the types of inheritance?
    • Do we need to explicitly call the parent class constructor from the child class constructor?
    • Does C++ support all types of inheritance? Does Java support all?
    • How are multiple inheritances handled in C++?
    • What is method overriding and overloading?
    • Give a real-life example of function overloading and overriding?
    • Can Static variables in a class be accessed by the child classes that inherit it?
    • What is the memory architecture in C++ Programming? – regarding heap, stack, and code
    • If the stack is increased indefinitely due to the number of recursion calls, will it override the heap?
    • Difference between String and StringBuilder classes? What is the use of StringBuilder?
  4. Coding problem  

    • Implement Merge Sort
    • Show Inheritance using abstract class

Round 3: HR – Basic behavioral questions.


Write your Interview Experience or mail it to contribute@geeksforgeeks.org

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.