Computer Science Exam IIT HYD ProtoVulcan
Computer Science Exam IIT HYD ProtoVulcan
● 2 part examination
- Part 1: Behavioural questions unproctored.
- Part 2: Technical questions 2-3 hrs Proctored exam
2. What aspect of Software Engineering do you enjoy the most? (Backend, Web
3. Why do you want to join ProtoVulcan? How do you see yourself contributing at
ProtoVulcan?
4. We don't always make great judgments all the time. Describe a time where you made an
error in judgement. What was the impact? How did you mitigate the impact? What did
5. Tell me about a time when you had to analyze facts quickly, define issues and respond
immediately. What was the outcome? How did you organize your time?
6. Tell me about a time where you were working towards a goal that took a long time or that
you are still working towards. How do you stay focused on the goal at hand? How do you
7. Describe to me a time when an idea you had was opposed. How did you handle
8. Tell me about a time where you were unsatisfied with the status quo or some sort of
perceived quality? How did you change it and what did you do? Were you successful?
1
Technical Questions
Instructions
Problem: Identify all combinations where one word can be composed of combinations of other
words in the list and print them.
Ex. [rockstar, rock, star, rocks, tar, star, rockstars, super, highway, high, way, superhighway]
If you cannot get the multi word splits, see if the candidate can at least get the 2 word splits in
their solution. I.E. if they cannot get super, high, way but their solution can get them to super,
highway
2
2. Let 1 represent ‘A’, 2 represents ‘B’, etc. Given a digit sequence, count the number of
possible decodings of the given digit sequence.
Output: 3
Output: 3
An empty digit sequence is considered to have one decoding. It may be assumed that the input
contains valid digits from 0 to 9 and there are no leading 0’s, no extra trailing 0’s, and no two or
more consecutive 0’s.
3. Given a binary tree, find the length of the longest path where each node in the path has
the same value. This path may or may not pass through the root. The length of path
between two nodes is represented by the number of edges between them.
Input :
2
/ \\
7 2
/ \\ \\
1 1 2
Output : 2
Input :
4
/ \\
4 4
/ \\ \\
4 9 5
Output : 3
3
4.
● SnapshotArray(int length) initializes an array-like data structure with the given length.
Initially, each element equals 0.
● void set(index, val) sets the element at the given index to be equal to val.
● int snap() takes a snapshot of the array and returns the snap_id: the total number of
times we called snap() minus 1.
● int get(index, snap_id) returns the value at the given index, at the time we took the
snapshot with the given snap_id
Ex.
Input: ["SnapshotArray","set","snap","set","get"]
[[3],[0,5],[],[0,6],[0,0]]
Output: [null,null,0,null,5]
Explanation:
snapshotArr.set(0,6);
Constraints:
4
5. System Design
You work for a company with customers and suppliers. Design a system where a customer can
offer a contract for their need and a supplier can be linked to that contract. The contract would
have a unique ID and each customer and supplier would have a unique ID. Additionally: How
would you create a recommendation system such that we would be able to recommend a
supplier for a customer or vice versa, a customer order for a supplier?