Q1 (really basic) two words are given (word1,word2). You need to tell whether word2 is a suffix of word1. sol: two pointer
Q2 You are given a dictionary of words (e.g., {"go","hi"}). Then, you receive a sequence of queries. In each query, you are given a single character to append to a running stream of characters (forming the current string). For each query, you must determine whether any suffix of the current string exists as a word in the dictionary.(online queries) Sol 1 – Brute Force: First, we tried the brute force method and talked about its time complexity. Then I was asked to optimize it Sol 2 – using hashing: Next, we used an unordered_set for hashing and again discussed the time complexity. Sol 3 – Using Tries: Build a trie and insert all the words, but in reverse order. For each query, search for the suffix in the trie (by traversing in reverse order of the stream) . HINT : Adding characters to the front of a normal string is slow. Instead, use a deque so you can add to the front in O(1) time for each query
Interview Round 2 Questions (project round) :
The interview began with a short 5-minute introduction. Then, he asked me to introduce myself (around 2 minutes). After that, he asked me to pick one project from my resume and explain the part I worked on. For the next 40–45 minutes, he asked questions about the implementation, basic web development topics, encryption, and RAG (since I had mentioned these keywords in my resume). Next, he asked me to write pseudocode for some workflows from my project (e.g. encryption and decryption using AE256) . In the last 5 minutes, he asked a few behavioral questions and then gave me the chance to ask him any questions.
Read this MTS intern interview experience at DevRev.
Last updated Oct 6, 2026