Tip 1: Know the tool as well as the design patterns and system intricacies that drive it.
Tip 2: Showcase projects that are industry oriented and consists of a niche technical concept.
Tip 1: Don’t list a plethora of programming languages, tools, or technologies just due to peer pressure. Be honest and own what you truly know. Depth always matters more than breadth.
Tip 2: Aim to build a holistic profile as a fresher. Include meaningful experiences such as hackathons, projects, open-source contributions, internships, publications, or research work to showcase your curiosity and initiative.



The order in which the groups and members of the groups are printed does not matter.
inputStr = {"eat","tea","tan","ate","nat","bat"}
Here {“tea”, “ate”,” eat”} and {“nat”, “tan”} are grouped as anagrams. Since there is no such string in “inputStr” which can be an anagram of “bat”, thus, “bat” will be the only member in its group.
Step 1: Clarified the requirement + edge cases
I confirmed whether the output should be:
Grouped anagrams (vector>), or
A single vector containing strings arranged so anagrams are together.
I also checked edge cases: empty input, single string, repeated strings, different lengths.
Step 2: Started with the brute-force idea
I first thought of comparing each string with every other string.
Two strings are anagrams if their sorted versions are equal.
This leads to O(n² * k log k) time (n strings, each length k), which is too slow for larger inputs.
Step 3: Optimized using hashing (key idea: canonical form)
I realized every anagram group shares a common “signature”.
I used the sorted string as the signature/key.
Example: "eat" -> "aet", "tea" -> "aet", "tan" -> "ant".
I stored results in an unordered_map> where:
key = sorted string
value = list of original strings belonging to that group
Step 4: Built the final answer from the map
After processing all strings, I iterated over the hashmap values and pushed them into the answer vector.
Step 5: Explained complexity clearly
Sorting each string costs O(k log k), repeated for n strings → O(n * k log k) time.
Hashmap storage takes O(n * k) space overall.
Step 6 (optional improvement if asked): frequency count signature
If interviewer asked to optimize further, I mentioned using a 26-length frequency array as key for lowercase strings (e.g., #1#0#2...) to avoid sorting:
Time becomes O(n * k) (linear per string).
I was given a UI design/mock flow of a pharmaceuticals website (pages like product listing, product details, cart/checkout, prescriptions, orders, etc.) and was asked to design a relational database schema for it. The expectation was to identify entities, relationships, constraints, and normalization, and justify design choices
Given two jugs with capacities X and Y litres and an unlimited water supply, determine whether it is possible to measure exactly Z litres of water using only the following operations:
- Fill a jug completely
- Empty a jug
- Pour water from one jug to another until either the source is empty or the destination is full
This was a round focused on C++ fundamentals and OS.
Explain Byte padding & alignment.
What are Stack frames? What’s inside a stack frame? What is stack pointer vs frame pointer? (Learn)
Explain DLL marshalling (COM).
Each team has to submit a pitch deck corresponding to a particular problem statement from the four below:
- Email Classification and Routing System Integrated in Outlook
- Anomaly Detection Framework - System to identify irregularities in trade data
- Mobile applications likely for multi-channel banking solutions integrating various platforms for seamless user experiences in financial services
- Predicting and forecasting threats or cyber attacks, involving analysis of cybersecurity events like threat identification from email datasets
The ones selected, will be participating in the prototype development phase at Barclays LTS campus.
We were given 24 hours to build the product, create the presentation and concerned artifacts. Mentors analysed the performance of every individual in each team and the ones performing better were given PPI opportunities.
Organizations and individuals face a growing challenge with the sheer volume of incoming email. Many messages arrive with different categories or labels, yet users still must manually classify these emails and then route them to the right recipients. This process is repetitive, error-prone, and steals time from more meaningful work. There is a need for a solution that can automatically classify incoming messages by their assigned category and route them in organized batches to their intended recipients, streamlining communication and improving productivity.
The solution automates email handling by integrating with Microsoft Exchange Server to access organizational mailboxes and using Microsoft Graph API to securely fetch email content. Each message is semantically classified using DistilBERT, enabling accurate understanding of intent and category. Lightweight backend logic, hosted via Azure Functions, then applies routing rules to distribute emails in bulk to the appropriate recipients, reducing manual effort while preserving clarity and control.

Here's your problem of the day
Solving this problem will increase your chance to get selected in this company
What is recursion?