Hello, I am Divyansh Jain, a Secretary at Communiqué, and today with us we have Mr. Gaurav Roy, who has secured an SDE internship at Salesforce , through the CDC internship process. Hello Gaurav, how are you?
I am fine. Thank you, and what about you?
Okay, So we will begin with the first question. What was the general interview process for the companies you interviewed? Please mention the number of rounds and the nature of the interview process.
I had received an Interview shortlists for 2 companies, First was for a Data role at Adobe, I didn’t apply for it but still got the shortlist, the second one was for the SDE role at Salesforce. There were 2 rounds at Salesforce, first one was a technical round involving 2 Easy-Medium DSA questions and later on also discussed OOPS and projects and stuff mentioned in the resume. The second round was Technical + HR round, there was not much DSA, but HR questions involving how I approach different problems and things related to OOPs and Project stuff that I included in my CV.
Can you mention the topics from which the questions were asked from DSA in the Technical rounds?
There were 2 DSA questions asked to me in Technical rounds, one was related to arrays, to find three maximum numbers in O(n) time, this was solved by maintaining a running maximum.
Second question was related to Linked lists, in that a sentence was given, in which each letter was a node including the space, and were connected in singly linked lists. I was asked to reverse each word in the sentence while maintaining the order in which they occur. Also I was asked to write code for both the questions on paper.
What are some of the FAQs in most companies that you think students must definitely prepare for? More specifically, in the context of HR rounds
The first thing is to prepare an Introduction, the first and foremost chance to set an impression on your interviewer. There should be no mess up in the Introduction, Intro should be to the point and should contain crisp to the point and mention the highlights of strong points of the Candidate, so that Interview can be carried forward in that direction.
Related to HR related, some common HR questions are Strength and weakness, Situational questions where you might be assigned the role of the Lead of a team, how to manage a certain kind of situation, Why do you want to join the company, where do you see yourself 5 years down the line in the company.
One tip : Before sitting for any company, have a look at the value system, work principles of the company, visit the company's website, and skim through different resources about the company.
How much importance is given to projects in SDE roles generally? What sort of project catches the eye of the recruiters, in your opinion?
This entirely depends on the company you are sitting for, for eg the Day1 companies often don’t go deep into the projects that you add in your CV and ask majorly DSA questions,OOPs, CS fundamentals and not much on projects but as the Intern season proceeds, the Projects and Internships that are present in your CV, the Core CS Fundamentals, OOPs and DSA problems are equally spanned out and almost each vertical is given equal weightage. There are chances that a Day1 company in the last can ask about Projects.
The candidate should be aware of each and everything that you write in your CV.
Another aspect of Projects is what is a good project, there’s nothing as such to define a very good project, but there are things that can particularly define not a good project. Like if you only put up a simple HTML, CSS, JS projects in your resume, then it would not add much value to your CV and neither of much interest to the Interviewer.
A gentle note, that if you put some real-world application like chat applications or payment gateways kind of things, there’s a very high chance of you getting questioned on that. So mentioning good projects of good scale that use full-stack development with some striking features can be a very useful addition to one’s CV. This also helps in identifying what might interest the recruiter and the potential questions that they might ask and boost the preparation.
One major thing to keep in mind is that, anything that you add in your CV, you should be aware of the technologies and frameworks used in that project. Talking about group projects, if you did some simple task in the project, but you are still aware of some complex things that your other members in your group did then that can be added in the CV given you can answer if questioned on that aspect.
There's always a battle between having Internships and Projects in your CV, and often it is quite tough to fill your CV especially for an SDE role. How did you craft your CV and Can you share some insights on crafting a great CV?
Mostly for 4 year students, it becomes a major problem what to write in a CV. Doing an Internship before CDC is quite difficult. So what me and most of my friends did is, making a few full-stack projects, because for web development projects, once a person is aware of the technologies and working, then it is quite easy to code and can be finished within 2-3 weeks. You can find a lot of tutorials on Youtube regarding this and once you are well-equipped with the concepts of those, you can easily make 2 good projects in 1 month rather than doing an internship which might not help you learn substantial things and take a lot of your time.
I won't suggest a person to do something like they are going for internships in summer just before their CDC, thereby compromising on the CP/DSA part, as again you have to sit in OAs before getting shortlist for interviews which will require CP/DSA skills majorly. In my resume, there were no Internships mentioned and most of my friends as well did not have Internships mentioned, some had a few research Internships and some Projects, that’s how they filled the Internships and Projects section.
For filling your CV one thing you can do is make an account on platforms like Codeforces, Codechef, Leetcode and Atcoder and give contests regularly. Then you mention the max ratings on all platforms, and then mention some good 2 or 3-digit ranks in some contest out of some 20k-30k people, as these are numbers and numbers carry value in your CV. Also, if you are in first year or second year and you have some time, then you can participate in some hackathons, and mention their projects, the Rank that you got out of so and so participants. That can be a good addition in your CV as well.
These are some pointers that can help you fill your SDE CV, generally in SDE CV PORs are not something that would add a lot of value. Surely, if you are in some soc, you can mention that under the Extracurricular section. It will fill your CV but won’t add much value to it, instead of that mention your coursework about
PnS, PDS type courses, those are something which can help you fill your CV, so that you don’t have to fill-up your CV with not so useful POR stuff, what is your contribution in your soc, what do you do etc. as that is not very valuable. Those were some Important points which will help you craft a great CV.
How did you practice Coding (CP) and how did you become better at it? Can you please share some resources that you followed? Often we see that after some regular increase, the ratings get stuck at some point. How to tackle this issue, especially around the 1200-1400 range in CF.
I would like to begin, with the point where I started DSA and CP. The initial part of my practise began in my 4th semester as in the previous semester I had got exposure to topics like DP and Graphs in Algorithms-I course and mostly I had decided to build on it.
I mostly practised CP from Codeforces in the rating range 1300-1500 so that I can develop problem solving skills and also solve more questions in less time, specially focussing so that I can solve Div2C questions.
What rating range you should practise is +200 to +300 than your current rating, so that you can improve your Ad-hoc and Math skills and build a framework of solving these higher rating questions, this will eventually let you perform better in contests. People who are good in math, often progress faster in CP, but if you are not one, still practicing enough problems will help you build Ad-hoc and math based thinking which will eventually build good intuitions to solve complex problems.
Apart from this, in my 4th semester before the Summer break, I sometimes practised questions of topics like Graphs, DP, Binary search on platforms like Leetcode, Atcoder etc.
Coming to the phase after the 4th semester during Summer break, I decided not to limit my preparation and keep pushing harder and harder, So my first focus was to cover the most important topics and more advanced topics which I had not yet covered. So the most important resource for the holistic coverage of all topics is the CSES problem set especially for concepts like Sorting, Segment tree, Graphs and DP etc. it covers almost each aspect and type of problem that can be asked in the interview. There’s an Atcoder DP Contest consisting of 26 excellent questions covering almost all the different forms of DP problems that a candidate would need to start and get a hang of DP.
Another resource was the USACO guide (United States of America Computing Olympiad), where the topic wise theory is covered and related problems are given, so in case you are looking to read some new theory then you can find it well covered in the USACO guide.
Now for learning new topics and revising older ones I followed the Cp-algorithms website, AlgoZenith lectures, Striver videos and problem sheets. I would highly advise to watch all the lectures of AlgoZentih if it is available to you with increased speed so that you can easily get an idea of all the questions and frameworks that are there for different topics.
Another resource that is a must-solve for the CDC preparations is like the GOC CDC series from the first to the latest contest. So these are basically the PYQs that came in the previous intern season. GOC holds the CDC series and after my intern season there have been around 30 contests or something with each containing five to six questions. So it is very solvable and like many times, it is also seen that the questions become repetitive in the CDC examinations and companies tend to repeat their own questions also. So it would be very helpful.
Doing CP and excelling at it requires a lot of motivation at times. What did you do to keep yourself motivated during the CDC process as well as in doing CP?
Competitive programming takes patience and consistent practice. Progress isn’t always immediate, and it can be frustrating when your rating doesn’t improve. I struggled to break past 1400 because that’s when ad-hoc problems start appearing, and they require a different way of thinking. It’s easy to feel stuck, but trust me, persistence pays off.
One thing that really helped me was solving problems in a structured way. Instead of jumping randomly, I focused on a specific rating range, solving 50-60 problems at each level (1500, 1600, etc.). Over time, this built a natural problem-solving framework in my mind, that helped mainly in solving Div2 C in contests.
Another common mistake is checking the editorial too soon. If you can’t solve a problem, don’t just read the solution and move on. Instead, ask yourself: How could I have come up with this on my own? What was missing that stopped me from solving it?
When you analyze your mistakes properly, you start recognizing patterns, and the next time a similar problem appears, you’ll be ready to solve it by recalling the previously solved pattern and topic.
For Codeforces specifically, the best way to improve is by solving problems on Codeforces itself on topics like Graphs, DP, Constructive, Math etc .Practicing on LeetCode won’t necessarily prepare you for Codeforces-style problems, especially constructive algorithms and math-heavy questions.
To stay motivated, remember that all the effort you put in now will pay off later, whether in contests, internships, or the CDC process. It’s tough competing in an environment like IIT, but working hard now means fewer regrets later. And trust me once you start getting a hang of CP and the green accepted verdicts start appearing, you won't run out of motivation. Surround yourself with like-minded friends, discuss problems, and learn from each other. It makes the journey a lot easier and more enjoyable.
Can you just walk us through the last two months of your preparation during the CDC process? Like what did you do in that summer break and last two weeks before CDC Interviews.
When my break started, I planned my goals carefully. At the time, I was a specialist on Codeforces and I set few objectives like:
At Least become an expert on CF before my interviews.
Cover as much of content in depth as possible
Solve a minimum number of problems daily to stay consistent.
I held myself accountable, ensuring I met my targets each day. Since CDC is highly competitive at IIT Kharagpur, I knew these two months would be crucial.
In the first 20-30 days, I focused on learning topics I hadn’t covered before. While I knew basic graph algorithms, I lacked knowledge in 2-SAT, Euler Tour, and advanced tree algorithms. These topics might not always come handy but I didn't want to miss out on anything within my reach. I used the CSES problem set for topic-wise practice and solved all 26 problems in the AtCoder DP Contest. My goal was to ensure I wouldn’t struggle with easy problems from unknown topics.
Alongside learning new topics, I practiced 1500-1700 rated ad-hoc problems on Codeforces. I made sure to cover constructive algorithms and math-based problems, not just DP and graphs. On a daily basis, I solved 2-3 problems from past contests and also gave virtual contests. To simulate real contests, I participated in Codeforces, AtCoder, CodeChef and Leetcode competitions.
By the second month, I had covered most DSA topics, so I also started revising a few mathematics topics for quant-based preparation since some companies, like Goldman Sachs and HFTs, ask probability and statistics questions in their OAs. I solved the GOC CDC series, one contest per day, ensuring consistent problem-solving. I also revisited my projects, refreshing my knowledge for interviews.
In the last 15 days, I revised OOP and MERN stack technologies while practicing for standard DSA topics like arrays, stacks, queues, and binary trees on InterviewBit. I realized that while DP and graphs are crucial, easy array or stack problems often appear in interviews, and I didn’t want to struggle with them.
By the end of my preparation, I had reached 1708 on Codeforces, improving from 1400 to 1700 in two months . My preparation left little time for anything else, but it was worth the effort.
For those interested in quant roles, I’d recommend "50 Challenging Problems in Probability" and Brainstellar puzzles, and other related resources which helped me sharpen my logical thinking.
The key to success was consistency, structured practice, and contests. Giving frequent contests and upsolving problems helped me bridge knowledge gaps and improve problem-solving speed. Though it was a tough phase, it was worth it in the end.
What is the role of OOPs and Core CS fundamentals, and some resources to prepare for them.
Talking about OOPS, In my interview, I was asked about OOP concepts like polymorphism, inheritance, and virtual functions, along with their real-life applications. One common question was how virtual functions are used in real-world scenarios. This is something you can prepare in advance by understanding practical applications of OOP.
If you're new to OOP, some great learning resources include:
IIT KGP Software Engineering lectures – very detailed and helpful.
Learncpp.com – a great website for C++ concepts.
The Cherno’s C++ playlist – an excellent video series for deep understanding.
For five-year students, interviewers often ask about Computer Networks, OS, and DBMS. These subjects become important in technical rounds, so it’s good to have a solid grasp of them.
Even four-year students might face OS and Computer Networks questions in online assessments or MCQs, especially in companies like Oracle and Adobe. Topics like process scheduling, memory management, and networking basics can come up, even if you haven't studied them in-depth yet. A little extra preparation in these areas can be beneficial.
Personally, I haven’t covered all of these topics yet, as I’m currently studying them this semester. However, from what I’ve seen, having a basic understanding helps in both technical MCQs and coding interviews.
If you're preparing for interviews, make sure to focus on both theory and practical applications of key concepts. Also, review past interview experiences from different companies, as they often follow patterns. That’s pretty much it for OOPs and CS Fundamentals as far as CDC Internships are concerned.
What are some specific CGPA requirements in the Software sector?
CGPA is something which every candidate should for sure keep in mind. CGPA creates a good amount of spike in your CV. So maintain as maximum CGPA as possible. It is an essential component to get good shortlists for your CDC Internships.
Can you tell me the skill sets and knowledge required to be an ideal candidate for selection at your company? In the order of importance
For my Salesforce interview, I noticed that DSA wasn’t a major focus, at least in my case. They started with easy DSA problems like arrays and linked lists, which most candidates prepare for. However, they were more interested in my projects and OOP concepts. Since I was a four-year student, they didn’t ask me questions on Computer Networks or DBMS, but five-year students might be asked fundamental questions from those areas.
The most important aspect of the interview was my projects. Every project on my CV was discussed in detail, so it’s crucial to know everything about what you mention. For example, I had listed a real-time chat application that used sockets for communication. The interviewer specifically asked me how sockets work, how connections are established, and other related technical details. If your project has a striking feature, like real-time updates or system design elements, it’s easier to predict what might be asked and prepare accordingly.
After discussing my projects, the interviewer focused on OOP fundamentals. Both rounds had questions on inheritance, polymorphism, and virtual functions. If you’re appearing for a Salesforce interview, I’d strongly recommend revising OOP concepts thoroughly.
While DSA wasn’t the primary focus, messing up an easy DSA question can create a negative impression. So, while the problems were simple, they still expected accuracy. If I had to rank the areas of importance for Salesforce, it would be:
Projects and computer fundamentals (OOPs, system design aspects).
Basic DSA concepts (arrays, linked lists, and problem-solving skills).
The second round also had HR-style questions. One question was: "When given a new problem, how do you structure your thoughts and approach it?" They were looking for a detailed response, not a short answer. The interviewer wanted to understand how I think, break down problems, and analyze solutions.
Another question was about AI and its growth. They asked how I use AI, my thoughts on large-scale AI model training, and the impact of AI. They weren’t expecting a highly technical or research-level answer, but rather an insight into my thought process and how I view technology.
Overall, Salesforce was more interested in problem-solving ability, project depth, and thought process, rather than just coding skills.
Thank you so much for your precious time and for giving such valuable advice to the student community. With this, we come to the end of our discussion. It was great talking to you, a huge congratulations to you again for getting an Internship at Salesforce. Thanks for giving your time and helping out Junta as well.
Thank you, it was great for interviewing you. All the best Junta for your upcoming CDC Internships. Keep trust on your preparation while remembering to not overwhelm yourself with the preparations. At the end of the day, it's just another intern and not everything at stake.