0% found this document useful (0 votes)
82 views

Computer Science Exam IIT HYD ProtoVulcan

The ProtoVulcan job exam consists of two parts: 1. An unproctored behavioral questionnaire with questions about languages, interests, goals, challenges, and feedback. 2. A 2-3 hour proctored technical exam covering word list combinations, digit sequence decoding, binary tree path lengths, snapshot arrays, and a system design problem involving linking customers, suppliers, and contracts with recommendations.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
82 views

Computer Science Exam IIT HYD ProtoVulcan

The ProtoVulcan job exam consists of two parts: 1. An unproctored behavioral questionnaire with questions about languages, interests, goals, challenges, and feedback. 2. A 2-3 hour proctored technical exam covering word list combinations, digit sequence decoding, binary tree path lengths, snapshot arrays, and a system design problem involving linking customers, suppliers, and contracts with recommendations.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

ProtoVulcan Job Exam

● 2 part examination
- Part 1: Behavioural questions unproctored.
- Part 2: Technical questions 2-3 hrs Proctored exam

Competency/ Behavioural Question


1. What language(s) are you most proficient in?

2. What aspect of Software Engineering do you enjoy the most? (Backend, Web

Development, Databases, Front-end, ML/AI, etc.)

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

you learn and how have you applied it going forward?

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

balance other priorities?

7. Describe to me a time when an idea you had was opposed. How did you handle

negative feedback? What learnings did you take from this?

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

● Please write or type out your answers to the questions below.


● Attempt all questions.
● Time 2-3 Hrs, Proctored examination.

1. Word List Problem

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]

rockstar → rock, star

rockstar → rocks, tar

highway → high, way

superhighway → super, high, way

superhighway→ super, highway

Output would look like

[[rock, star], [rocks, tar], [super, high, way]... ]

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.

Input: digits[] = "121"

Output: 3

// The possible decodings are "ABA", "AU", "LA"

Input: digits[] = "1234"

Output: 3

// The possible decodings are "ABCD", "LCD", "AWD"

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.

Implement a SnapshotArray that supports the following interface:

● 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:

SnapshotArray snapshotArr = new SnapshotArray(3); // set the length to be 3

snapshotArr.set(0,5); // Set array[0] = 5

snapshotArr.snap(); // Take a snapshot, return snap_id = 0

snapshotArr.set(0,6);

snapshotArr.get(0,0); // Get the value of array[0] with snap_id = 0, return 5

Constraints:

● 1 <= length <= 50000


● At most 50000 calls will be made to set, snap, and get.
● 0 <= index < length
● 0 <= snap_id < (the total number of times we call snap())
● 0 <= val <= 10^9

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?

You might also like