Adobe Interview | Set 14 (On Campus for Full Time)

Round 1(aptitude and coding) Two tests:

  • Tech Interview Round 1:
    Tech Interview Round 1:

    1. Asked me to implement a 2d bit-matrix representing monochrome pixels which will have only OFF/ON values and will take on an average only one bit of memory for each stored bit (Don’t declare an int matrix!), and how to perform various operations on it.
    2. Some problems on basic geometry – circles and tangents were given.
    3. C programs were given and various OS related issues were discussed regarding them, mainly addressing issues, address space, paging etc.
    4. If F() generates 0 or 1 with probability .5 each, generate 0-7 with equal probability.
    5. Some in-depth questions on pointers, dynamic memory allocation etc were asked.
  • Tech Interview Round 2:
    1. Convex Hull problem
    2. given a set of points in a plane, how would you make the most optimized triangular mesh-each point is a vertex of a triangle.
    3. Intersection of two lines in a plane, if they intersect- determine the point of intersection.
    4. Design problem: without knowing the underlying data structure to store various entities, how would you extend the stl library of c++, which will support any type of queries. Basically he was interested in methods of indexing upon the data and retrieval of relevant information.
  • Tech Interview Round 3:
    This round was mostly a design round.

    1. Given two machines with different architectures and different endianness, how would you as a programmer make sure that user gets a uniform view of the various files stored. Now if one the files is transferred from one to another, how you’re going to maintain that view to the user?
    2. Implement the qsort() in c/sort() in c++ library or your own custom sort which will sort any type of data on user defined criteria. write the function prototype, definition and another requirements.
    3. How much memory is made available to a user program by the kernel, is there any limit to it? What is the range of addresses a user program can have at max, what determines it?What happens if excess memory is allocated to a user program, say malloc in an infinite loop?
    4. What is the difference between mutex and a semaphore. Write down a crude implementation of both. How would you solve the mutual exclusion problem using semaphore. Propose a solution to the readers-writer problem.
    5. Other OS related problems.

Last round was the HR round.

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

Write your Interview Experience or mail it to

My Personal Notes arrow_drop_up

Article Tags :
Practice Tags :

Be the First to upvote.

Please write to us at to report any issue with the above content.