dynamodream commited on
Commit
9350264
1 Parent(s): bb0a036

New commit

Browse files
Files changed (3) hide show
  1. chatbot.py +112 -0
  2. internal.txt +218 -0
  3. requirements.txt +5 -0
chatbot.py ADDED
@@ -0,0 +1,112 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import streamlit as st
3
+ from dotenv import load_dotenv
4
+ from langchain_community.document_loaders.pdf import PyPDFLoader
5
+ from langchain.indexes.vectorstore import VectorstoreIndexCreator
6
+ from langchain_community.vectorstores import FAISS
7
+ from langchain_community.document_loaders import TextLoader
8
+ from langchain.chains.llm import LLMChain
9
+ from langchain.text_splitter import RecursiveCharacterTextSplitter
10
+ from langchain_core.messages import AIMessage, HumanMessage
11
+ from langchain_community.llms import HuggingFaceEndpoint
12
+ from langchain_core.output_parsers import StrOutputParser
13
+ from langchain.embeddings import HuggingFaceEmbeddings
14
+ from langchain_core.prompts import ChatPromptTemplate
15
+ #from langchain.embeddings import OpenAIEmbeddings
16
+ #from langchain.vectorstores import Chroma
17
+ from langchain.chains import create_retrieval_chain
18
+ load_dotenv()
19
+
20
+ api_token = os.getenv("HUGGINGFACE_API_KEY")
21
+
22
+ # Define the repository ID and task
23
+ repo_id = "mistralai/Mixtral-8x7B-Instruct-v0.1"
24
+ task = "text-generation"
25
+
26
+ # App config
27
+ st.set_page_config(page_title="INTERVIEW BOT",page_icon= "🌍")
28
+ st.title("INTERVIEW BOT")
29
+
30
+ @st.cache_resource
31
+ def load_text_and_create_index():
32
+ # Load the text file
33
+ loader = PyPDFLoader("res.pdf")
34
+ documents = loader.load()
35
+
36
+ # Split the text into chunks
37
+ text_splitter = RecursiveCharacterTextSplitter(chunk_size=100, chunk_overlap=10)
38
+ texts = text_splitter.split_documents(documents)
39
+
40
+ # Create embeddings
41
+ embeddings = HuggingFaceEmbeddings(model_name='all-MiniLM-L12-v2')
42
+
43
+ # Create the FAISS index
44
+ db = FAISS.from_documents(texts, embeddings)
45
+
46
+ return db
47
+
48
+ db = load_text_and_create_index()
49
+
50
+ template = """
51
+ You are INTERVIEWER CHATBOT. PEOPLE WILL ASK YOU FOR SUGGESTION AND YOU WILL HELP THEM IN EVERY WAY TO LAND THEM A PERFECT JOB.
52
+ Chat history:
53
+ {chat_history}
54
+
55
+ User question:
56
+ {user_question}
57
+ """
58
+ prompt = ChatPromptTemplate.from_template(template)
59
+
60
+ # Function to get a response from the model
61
+ def get_response(user_query, chat_history,db):
62
+ # Initialize the Hugging Face Endpoint
63
+ llm = HuggingFaceEndpoint(
64
+ huggingfacehub_api_token=api_token,
65
+ repo_id=repo_id,
66
+ task=task
67
+ )
68
+ chain = prompt | llm | StrOutputParser()
69
+ retriever = db.as_retriever()
70
+ chain_ret = create_retrieval_chain(retriever,chain)
71
+ response = chain.invoke({
72
+ "chat_history": chat_history,
73
+ "user_question": user_query,
74
+ })
75
+ return response
76
+
77
+ # Initialize session state.
78
+ if "chat_history" not in st.session_state:
79
+ st.session_state.chat_history = [
80
+ AIMessage(content="Hello, I am Interview Bot How can I help you?"),
81
+ ]
82
+
83
+ # Display chat history.
84
+ for message in st.session_state.chat_history:
85
+ if isinstance(message, AIMessage):
86
+ with st.chat_message("AI"):
87
+ st.write(message.content)
88
+ elif isinstance(message, HumanMessage):
89
+ with st.chat_message("Human"):
90
+ st.write(message.content)
91
+
92
+ # User input
93
+ db = load_text_and_create_index()
94
+ user_query = st.chat_input("Type your message here...")
95
+ if user_query is not None and user_query != "":
96
+ st.session_state.chat_history.append(HumanMessage(content=user_query))
97
+
98
+ with st.chat_message("Human"):
99
+ st.markdown(user_query)
100
+
101
+ response = get_response(user_query, st.session_state.chat_history,db)
102
+
103
+ # Remove any unwanted prefixes from the response u should use these function but
104
+ #before using it I requestto[replace("bot response:", "").strip()] combine 1&2 to run without error.
105
+
106
+ #1.response = response.replace("AI response:", "").replace("chat response:", "").
107
+ #2.replace("bot response:", "").strip()
108
+
109
+ with st.chat_message("AI"):
110
+ st.write(response)
111
+
112
+ st.session_state.chat_history.append(AIMessage(content=response))
internal.txt ADDED
@@ -0,0 +1,218 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ The placement season is an experience of a lifetime, where you get to learn a lot about yourself and how to react in a wide range of obnoxious situations. Right now most of you are going through a common stage, Brushing up your DS Algo skills, following common test patterns, preparing your resumes.
2
+ Most of your dream companies will be having sort of similar technical tests but their interview processes and the type of candidates they are looking for can vary significantly.
3
+ Our batch went through the same process a few months ago. You can find first-hand placement experiences of a few of my batchmates who got placed in different companies here so that you get an idea of what you are getting into and how you can direct your energy towards your dream company.
4
+
5
+ Microsoft- Chandan Agrawal
6
+ Google- Shatakshi Gupta
7
+ Adobe- Parth Maheshwari
8
+ Adobe- Nishant Shekhar
9
+ Cisco- Kevin Jose
10
+ JPMorgan (Quant)- Pushya Bansal
11
+ JPMorgan (Quant)- Bhuvan Agrawal
12
+ SAP- Nimit Vijay
13
+ NoBroker (Data Science)- Apoorva Kumar
14
+ Goldman Sachs- Bhuvan Agrawal
15
+ Oracle- Deepti Mathur
16
+ JPMorgan (SDE)- Avish Kabra
17
+
18
+ MICROSOFT
19
+ by Chandan Agrawal www.linkedin.com/in/chandan-agrawal-a6571216b/
20
+
21
+ In the selection process, the first step was an online coding test. The platform for the coding test was Mettl. There were 3 coding questions this test for a time duration of 1.5 hours. C++(with STL), Java, and Python were allowed. One question was based on queue. We have to just queue and dequeue elements and compute a function when a given condition is satisfied. In 2nd question, you have to compute the maximum distance between two 2-D points from a set of points. The answer was expected to be given after rounding off to 6 decimal places. The last question was similar to the minimum adjacent swap required to make a string palindrome. All these questions were of medium level and also these questions were repeated in tests across different IITs.
22
+
23
+ The second round was group fly round and was arranged just a day before interviews. This was a pen and paper round. For this round, all students were divided into groups of 5–6 people, and a mentor was allotted to a group. We were expected to write complete code for the questions with the best time and space complexity. 2 questions were asked one was based on Trie and the other one was based on Binary Tree. Discussing with your mentor in group fly round is necessary and they expect us to explain our approach first before writing it. Even if you are unable to think the best approach by yourself, explaining it to mentor helps and he may guide you to the final answer. In my case, I completed both questions a little early in my group so he asked me a few questions on operating systems and how compilation and execution of code happen.
24
+ After the group fly round, shortlisted students will be called for an interview, which was on the next day in my case. There were a total of 3 rounds in the interview. All of them were technical.
25
+
26
+ In first-round, he asked a few general questions to start the conversation and then directly jumped for coding questions. The question was based on sorting based on how many times a number has appeared in the array. This was solvable using maps and sorting algorithms. Which was taking nlog(n) time complexity and n space. He emphasized reducing the space so I told him the approach in which I encoded two numbers into one number (c = a*M + b) and stored it in the same array without taking any extra space. He was happy with the solution and then asked me 6–7 sorting algorithms. Approach, time, and space complexity for these algorithms.
27
+
28
+ In the second-round, the interviewer asked me to explain my projects during my internship. He asked 2–3 questions about the project and then told me that he will ask questions on DS-Algo as they don’t have that much time. He asked me 2 questions, one from Graph and one from Tree. The interviewer told me to first think completely about the question and then tell him approach. He also asked me to write the complete code on the paper and explain using that. He also asked me to think of other approaches as well. I told him 1 more approach for the graph question and discussed time complexities for both. He was satisfied with the answer and I moved to the third round. Both questions asked in this round were of moderate level.
29
+
30
+ In the last round, he first asked me about the placement process and we had a little bit of general talk. He was taking interview of two candidates together. In his first question, he told us to come up with a solution together so that maybe he could know how we work in a team. Anyway, he listened to our solution separately. The first question was on how can you search your phone contacts/dictionary easily and effectively and how this information should be stored. I told him the solution using Trie. He was satisfied with the approach and told me to write the complete code on paper. We also discussed the time efficiency and space taken by this approach thoroughly. The second question was based on Binary Tree. He asked how to connect all the leaf nodes of a tree using two more pointers front and back. Where one will point the next leaf node and other will point the previous leaf node. He also asked to use different traversals to do this and discuss which one will be best. Also, asked to write clean and complete code on paper.
31
+
32
+ There was no HR round for Microsoft. In my experience, most questions were asked form Tree, Trie, and Graph. According to feedback I received from others who appeared for the interview, there were questions from OS, DBMS, and system design also but mainly focused on DS-Algo.
33
+
34
+ GOOGLE
35
+ by Shatakshi Gupta www.linkedin.com/in/gshatakshi8/
36
+
37
+ Online assessment on cocubes platform -> 2 medium questions(easily doable) from gfg.
38
+
39
+ On-campus interview:
40
+
41
+ Round1: Interviewer simply started with “Tell me about yourself”, he didn't pay attention to what I was saying and was engaged in setting up his laptop. He jumped directly to question thereafter. He asked some modified version of Constructions of roads and libraries from hackerrank, to my luck I had faced a similar question in one of the online tests and knew the answer beforehand. I tried to ask him about all the corner cases I could think of and pretended to think from the scratch, he was observing all of it very keenly. I told him the solution and he was satisfied, he gave me notepad to type out the code. Since it ended pretty soon, he asked me a basic variation of the partition sum question later on.
42
+
43
+ Round2: He asked me some questions related to graphs, question was tricky and I have never heard of it before, I asked every possible follow-up question I could think of and he patiently answered each one of my doubts. I tried using Dijkstra's algo as we had to visit each and every node, but later it clicked me we could use floyd warshall with simple variation in initial conditions. While discussing the first approach I told him about Floyd warshall algo. He was surprised that I could fit in the complex problem statement to a simple understanding and was really happy that it reduced to satisfying space and time complexities. I told him we could further reduce the space complexity by storing prev value approach and he was really happy. He gave me notepad to code, which took me most of the time, as to keep all alignment and spaces. While I was coding he gave a look at my resume and asked me about projects and my intern experience. He also commented on my major in Electrical to which I replied that I have a minor in CS too.
44
+
45
+ There was also one leadership principle question in this round where I was hypothetically assigned a task to plan a vacation for 100 people. Out of them, 10 are not willing to go to some particular destination which was decided by making some poll. Now, What will you do? Will you leave those 10 people like this or will you do something for them?
46
+
47
+ The key to answering these questions is to be firm and professional.
48
+
49
+ My reply was that we could do polling again mentioning that there are some who wishes a particular thing, but even then if the majority is not accepting, we’ll go through it as poll means whatever is decided by the majority would be considered, even if it means making some unhappy.
50
+
51
+ Round3: The interviewer for this round was really helpful, he asked me a question which I thought was very familiar to me and I started telling him the approach, to which he replied with all the possible cases it will fail and then I realized my assumption was wrong. It felt like we worked together to find out the solution. I came up with a DP solution and told him the base conditions and recursive formula. I could think of some cases it will fail and I told him so, after brainstorming for another 5 min he told me to code whatever I came up with. I coded the solution leaving it to fail for some of the cases.
52
+
53
+ Good luck to everyone preparing for interviews!
54
+
55
+ Sometimes it's your day, sometimes it isn't. :)
56
+
57
+ ADOBE
58
+ by Parth Maheshwari www.linkedin.com/in/parthm1801/
59
+
60
+ My placement experience has been an emotional rollercoaster. I have felt confident at one point and totally under-confident and frightened at other. Having no experience in competitive coding, I started practicing on interviewbit during my internship days in the summer of 2019. But because of the busy schedule, I couldn’t keep up with the practice. Finally, I started the full-fledged competitive coding practice at the end of July after the 7th semester started. The only websites I was referring to were interviewbit and geeksforgeeks for the initial 2 months. I tried to complete at least one topic from each bucket of all the topics on interviewbit. Initially, my coding speed was very slow, and comparing myself with my peers who were faster and better made me feel a bit under-confident. But after constant practicing for 2–3 weeks, my coding skills were on a par with the others. In October, the online placement tests started and during that time, I had solved most of the questions on interviewbit. So I started looking at questions from the website called leetcode. It had questions about each topic labeled by their difficulty. After giving a few tests, I realized a general test would consist of 2 easy, 2 medium, and 1 hard question. Hence I focused more on solving the easy and medium problems with speed and attempting the toughest question at last, as it demands a lot of time.
61
+
62
+ There were some tests where I performed poorly that made me panicky about my placements. But during the placement test days, ideally, one should stay calm and patient and only worry about the upcoming test as you cannot change what happened in the past. It’s generic advice but a helpful one. When the shortlists were released, I was not shortlisted in some of the companies I was confident about. But there is always the hope of making it to the extended shortlist. In November, I also started studying theoretical concepts like OS, DBMS, OOPs, Computer Networks, etc for the interviews. I mostly consulted the youtube lectures for these topics and some lecture slides of previous semesters of my branch(ECE) as well as other branches.
63
+
64
+ After the endsems, I had two days for the final preparation before the interviews. I did not study anything new for those two days and revised everything that I have done in the last 4 months. The most important thing to keep in mind before Slot 1.1 of the placements is that you’ve had enough sleep as the interviews go all night long. I was shortlisted for two companies in the first slot but unfortunately, I wasn’t selected in any of them even after sitting for multiple rounds in both of the companies. The primary reason being the lack of sleep(that’s why the advice above) as I have slept for a total of 5–6 hours in the last two days, I was getting exhausted while approaching the final rounds. I went to sleep after that and the next morning the results were announced for the first slot of day 1 before the commencement of the 2nd slot for day 1. Seeing people celebrating, I was kind of motivated and felt energized. My first company in slot 1.2 was Adobe.
65
+
66
+ It started off with the first technical interview. Firstly I was asked to briefly explain my CV and I had prepared what exactly to answer when asked about that. Then the interviewer asked me about a theoretical mediocre level but tricky questions from Operating systems and a question from graphs. In the second technical interview, the interviewer asked me about a modified version of the detection of a cycle in a linked list. After answering, the interviewer changed some situations in the linked list and wanted to see my approach of finding the cycle in each given situation. After some hints from the interviewer, I was able to answer all the questions. Then I was called for the third round of technical interviews, where the interviewer discussed a computer architecture question. It was mainly a mathematical puzzle in the form of memory management(not a lot of information about computer architecture was needed). After a long discussion about the problem, and coming up with different approaches, I was called for the HR interview, where I was asked about my PORs and internships. After the HR interview, I was assured that it’s in the bag, and finally, I got selected in Adobe and my placement season came to an end.
67
+
68
+ Some of the things to keep in mind during the interview should be:
69
+
70
+ While you are waiting for the interviews outside the interview room, there is no need to revise anything from your notes because you cannot cover everything in that short amount of time.
71
+ Your body language and attitude say a lot about yourself during the interviews.
72
+ Keep up a smiling and confident face in front of the interviewers. If needed, the interviewers will also help you in reaching the conclusion for a problem. They observe your problem-solving approach, not your final answer.
73
+ There is nothing wrong with asking the interviewers to repeat the question or the doubts related to the question.
74
+ Not making it to the shortlist doesn’t mean you don’t have zero chance at getting a job at that company. During the interviews, even the extended shortlist gets exhausted and walk-in interviews start by the slot 1.3.
75
+ Getting rejected in some companies actually means that something better is waiting for you. You will definitely get selected in a company if you have studied for placements, so there is no need to feel discouraged.
76
+ When you are entering the first round of some company, do not think about how you screwed up the previous interviews(they only teach you how to be better the next time). A new company’s interview is entirely a new platform for you to start from scratch.
77
+ ADOBE
78
+ by Nishant Shekhar www.linkedin.com/in/nishant3040/
79
+
80
+ The interview was very chill and the interviewers were very friendly. Having been rejected in so many interviews, I did not felt like eating anything. I got an unexpected call from my friend that my name was there in the extended shortlist of Adobe. I got really excited and literally ran towards the interview place allocated in the Barak hostel. I confirmed my name on the list with the placement coordinators and waited for them to call me. While I was eating there, one interviewer came outside. He just laughed, said not to worry, and only come to the room after finishing my food. I quickly finished my food and rushed to the room. I had 3 technical interviews and 1 HR interview.
81
+
82
+ 1st interview:
83
+ It was a technical interview. I was a bit nervous in the starting but quickly regained my confidence after introducing myself. He asked a simple programming question related to strings and kept on adding some more complexity to the question after I had solved the previous level. The most complex question was related to DP (I don’t remember the questions though). He talked in a very friendly way and cleared all the doubts I asked regarding the questions. In the end, he said to wait for my second interview.
84
+
85
+ I went back outside and said to the coordinators about the interview and they kept on motivating me every time. Then I was called for the second interview.
86
+
87
+ 2nd interview:
88
+ I introduced myself and was not nervous this time. She told me that she had talked with my previous interviewer and asked me about my work in college. Then I explained the projects in my resume and for the major part of the interview, we discussed my projects. In the end she asked me a simple DP question and told me to wait for the third round.
89
+
90
+ I went outside and the coordinators said that all those who were called for the third round were selected. Hearing this, I was overjoyed but I kept my composure eagerly waiting for my third round. When I saw the interviewer calling me, I went to the room happily. By this time, I had already forgotten all the interviews in which I was rejected and was confident that I would be selected for sure.
91
+
92
+ 3rd interview:
93
+ It was a short interview and the interviewer asked only 2–3 questions. In one question, he was not satisfied with my approach so I had to rethink a different approach and after explaining it to him, he was happy. He even said it during the interview that the previous interviewers had praised me. I enjoyed the whole time during my interview. After the interview was over, he asked me to wait while he discussed it with his colleagues.
94
+
95
+ After that interview, the placement coordinators had already congratulated me saying that for sure I was selected although I was nervous about the results. Finally, after 10 mins, I was called for my HR interview.
96
+
97
+ HR interview:
98
+ This was one of the best and fun interviews I had given. He told me not to be formal and tensed and talk to him like I was talking to my friend and he asked me about the fun experiences in the college and school. I enjoyed talking to him. After the interview was over, he again asked me to wait for my results.
99
+
100
+ And after waiting for another 10 minutes which seemed a really long wait, they finally congratulated me and said that they are happy to offer me the job at ADOBE.
101
+
102
+ CISCO
103
+ by Kevin Jose www.linkedin.com/in/krsj1234/
104
+
105
+ Interview had 5 rounds. 3 technical + 1 managerial + 1 HR
106
+
107
+ First-round was a bit hard and confusing. (Duration:40 mins approx) He told me that he won’t check coding skills since we passed the test and all. So he started with a computer networking question. I had not learned about computer networks at that time so I said to him that I was not familiar with computer networking. So he asked me whether am I familiar with cloud computing technologies, which again I answered no. So he started asking me questions from OS. To my luck, he mainly asked from memory management and Process management (CPU scheduling) which I was very confident. Initial questions were mainly based on different scheduling algorithms. (Ravindrabu Ravula’s lectures were enough to answer those) and in memory management, the initial questions were pretty basic definitions, etc. Then he moved on to application-based questions, where he wanted me to explain different aspects like virtual memory etc in a real-life example which he gave me. Identifying the aspect was the only crucial thing. Then he asked started asking OOPS questions. He gave me some code fragments and asked me whether those codes will work for the desired output. Concepts mainly included upcasting, abstract class, virtual functions, etc.( OOPS from study tonight and questions from gfg helped). My OOPS concepts were good so my first round went really well.
108
+
109
+ Second-round was another technical round. Duration was around 25 mins. This round was conducted by a Senior Engineer from CISCO. He gave me a coding question at first which was somewhat a similar scenario as that of https://www.geeksforgeeks.org/optimal-strategy-for-a-game-set-2/ . I had seen this before so I could answer that. But he wanted me to optimize, which I didn’t know. He helped me a bit through that. Then he asked me another question similar to aggressive cows question. I struggled a bit understanding the question but it was easy.
110
+
111
+ Third-round was a Managerial Round. The duration was over one hour. I thought this was an HR round. But this was CV scrutiny round. He scanned my entire CV in front of me and asked questions from each and every project and experience on my CV. He was an ex- Microsoft employee and he had worked on Face. I had used Microsoft Azure Face API in a project. So he asked me so many technical details on that which I struggled to answer. Gave me a lecture on stop using ‘*’ on some technical skills. He was working on some Generative models and asked questions on generative models and GANs. We had a discussion on facial recognition in the end which was fun.
112
+
113
+ Fourth-round was a technical round. Duration was around 20 mins. I doubt that this round was not supposed to happen and this round was for someone else as they wrapped up this round so quickly. He asked me some general probability question which was too basic and a puzzle. He wrapped it up so quickly.
114
+
115
+ HR round. Duration was around 30 mins. She asked mainly about my second page of cv. About my previous internships and my hometown. We had a fun conversation. I was a bit nervous and this was so relaxing.
116
+
117
+ JPMorgan (Quant)
118
+ by Pushya Bansal www.linkedin.com/in/pushyabansal/
119
+
120
+ “First things first. CV. Spend time on your CV. 3 days, 4 days, a week. As long as you want. But make sure that you should know each and every single thing in your CV. A company will judge you only on your present skills. If you don’t possess a certain skill, your only job is to convince them you can learn that, and you’ll do that by exhibiting how well you know your present skills as well as your presence of mind.
121
+ Now the tests. Revise OOPS. Learn fucking oops. If you don’t, then consider the following scenario: Imagine in a test, there are three questions, with 20 MCQs. Two questions are of medium level, so many people will solve them. The third one on the other hand is really tough. So the probability you’ll solve that is very low. in this case, a shortlist will be done on basis of MCQs. So do whatever you have to, but revise oops.
122
+
123
+ The interview process had two major parts. One was coding. The level of questions was medium. With enough practice, it shouldn’t be a big deal. The next part was maths( P&C, mental maths) and probability ( expectation was really focused on). Questions weren’t very hard to crack, but tricky.
124
+
125
+ “Be thorough with puzzles and your probability concepts. If you have any topic written in your CV, KNOW IT WELL. It is better not to write a topic than to blank out in an interview. As for the quant aspect of the interview, I was asked questions about expectations.
126
+
127
+ There were 5 rounds . 4 technical, 1 HR.
128
+
129
+ Technical- two were based on probability, the other two on puzzles.
130
+
131
+ They didn’t want the answers written on geekforgeeks or interveiwbit. They expect you to come up with your own solutions. I was also asked a proof of an algorithm. Again, they didn’t want a textbook proof, but more intuitive proof.
132
+
133
+ HR round is very chill. They’ll ask you about the college experience, your expectations from the company, why JPMC, and other simple standard HR questions. In our case, if you made it to the HR round, you were most probably selected.
134
+
135
+ In the end, stay positive. There a hundred of companies which will visit our campus. So if you fuck up a test, don’t worry. Just focus on the topics in which you faced difficulty and keep improving them. For the shy ones, reach out to people, they are ready to help.
136
+
137
+ Happy coding and all the best!”
138
+
139
+ JPMorgan (Quant)
140
+ by Bhuvan Agrawal www.linkedin.com/in/bhuvanagrawal/
141
+
142
+ The screening test was divided into two parts. The first one was coding, the questions were simple and orthodox in nature. One of them was based on this. The other part was quant-based, It had 20 problems and was from the topics of permutation and combination, probability. The questions were lengthy and more emphasis was over accuracy.
143
+
144
+ The interview had 5 rounds(4 technical and HR). All of them had 2 common questions, to begin with, ‘Tell me something about yourself’ and ‘Run me through your CV’. The script to these questions should be well prepared though a little improvisation would be welcome. The first interviewer asked me mostly questions about basic machine learning. The questions were mostly textbook-like. One of them was ‘explain bagging’.
145
+
146
+ The second interview was heavily puzzle-based, She asked me 5 out of which I couldn’t answer 1. There were also questions based on OOPS. The third and fourth interview was similar. There were questions about the calculation of expectation in discrete distribution as well as continuous distribution(only the Gaussian). HR round was also straightforward. There were basic HR questions ‘Why JPMC’ and some expected questions like ‘why not chemical’(I had major in Chemical) and expectations from the company as I had rejected a PPO (I had mentioned that in my CV).
147
+
148
+ SAP
149
+ by Nimit Vijay www.linkedin.com/in/nimit-vijay-64b62a149/
150
+
151
+ There were mainly 4 rounds of interview. 3 of them were technical and 1 HR round.
152
+
153
+ Round 1
154
+ There were questions from DS and Algo on dynamic programming. 1 problem was mathematics-based. In this question, they weren’t expecting me to know the logic, but after providing the logic, they wanted an exact code that can be run in a compiler.
155
+
156
+ Round 2
157
+ In this, I was asked about my full stack project and the difference between RDBMS and Non-Relational DBMS. They also asked 1 question from scheduling(OS).
158
+
159
+ Round 3
160
+ In this, their main focus was on Machine-Learning and Deep Learning as most of the projects in my CV were based on it. At last, they asked if I knew block-chain to which I replied negative but topped it up by mentioning that I have a keen interest in it and can learn it next semester.
161
+
162
+ Round 4
163
+ This was HR round, with quite general questions.
164
+
165
+ NoBroker (Data Science)
166
+ by Apoorva Kumar www.linkedin.com/in/kr17apoorva/
167
+
168
+ Well for starters I never actually targetted this company initially and applied here just because the role seemed very promising and with handsome pay. This interview experience was what actually made this company stand out for me and made it the one I would stick to. I will start by explaining my scenario when I actually sat for the interviews and how the interview followed. I had applied for only around 15–20 roles during the placement season because I didn’t like coding a lot and wanted to focus on the field of automation and machine learning.
169
+ This company had shortlisted around 100+ candidates total, divided into 3 roles namely DataScience , Software Dev, and Products/Business Analyst. I applied and was shortlisted for the DS role and my interview was the first one to be held. So that put at another disadvantage as I didn’t know what they were gonna ask. My interview for Jaguar Land Rover was running parallel to this interview and I initially was really inclined towards JLR.
170
+
171
+ I entered the room and there was one guy sitting there who greeted me and asked me to sit (I forgot his name). Before asking me anything he started explaining the company to me and was really sweet and conversed very politely so much so that it felt he was giving an interview for his company to me and trying to convince me to join it. He went on for 10 mins and after showing me the website and the app he asked me about myself, that basic info of where I was from, and everything.
172
+
173
+ Next, he looked at my CV and asked me my first proper interview question i.e. Why I wanted to do Data Science and Machine Learning and I answered that explaining how I loved system automation and everything. Next, he asked me where and how NoBroker will help me achieve the ribs dream to which I told him that their AI automated platform was something unique and would help me learn.
174
+ Then he popped me the next question asking me to explain one of my projects whose use case or knowledge base will help me add something substantial to the company. This was a nice question and he directly wanted to learn if I had succeeded in doing something which I can directly replicate on joining the company and contribute to them. I explained my 3rd-year intern on 3d mapping and how it can help the website display 3d maps on rooms they were offering rather than normal photos. He was really impressed with this. Mind you that he was talking really nicely and politely all the time and didn’t even make me feel like I was in an interview. He complimented my answer and helped along the way.
175
+ Next, he asked me if I had any knowledge of SQL to which I said no and he didn’t mind. He followed by asking if I understood probability then and I said yes to which he put some good probability questions to me which were really tricky and took some time to solve. After all this, he said I had passed this round of interview and asked me how many interviews I had given before this and at which places and I told him about Microsoft DS and JLR Electronics. He was impressed that I was shortlisted for Microsoft DS and he told me to wait for the next round which was with the Founder of the Company Akhil Gupta.
176
+
177
+ Mr. Akhil took my interview over Skype and while arrangements for this interview were being made I had my final round at JLR and was waiting for their results too. The interview commenced with him asking me why NoBroker followed by how it will help me in the future to which I answered as before. He next asked me the question that my CV resembled more like that of someone pursuing research so I didn’t opt for masters or further studies to which I told me I wanted industry experience before actually going for research and see which fits me more. He asked me some other probability questions and asked me to explain my projects in brief. He told me that my first-round interview was fantastic and he would love to meet me soon in Bangalore though he never told me I was hired so I had to explicitly confirm that by asking if I was hired to which he told me that I had been hired after the first round itself and the second one was just a formality/ introduction. Both the interviewers and their on spot HR were very polite and didn’t make us feel even a bit scared or intimidated us. They even heard my request of interviewing one of my friends who was not even selected for the role.
178
+
179
+ GOLDMAN SACHS
180
+ by Bhuvan Agrawal www.linkedin.com/in/bhuvanagrawal/
181
+
182
+ The screening test was conducted on HackerRank and had 25 questions. 3 of them were coding questions, 2 personality-based questions, and 20 MCQs. The first coding(10 points) question was just implementation but a tricky with edge cases. The second coding problem(20 points) was reduced down to LIS(longest increasing subsequence) but had to be written in NlogN time complexity to pass all the test cases. The third problem(20 points) was pretty hard DP problem and I couldn’t complete it in stipulated time. The MCQs were from a variety of topics like DS-algo, OOPS, Limits, OS, Networks, and Databases. The marking was +5,-2 so guessing won’t be a viable option. In the personality-based question, a paragraph had to be written(not difficult).
183
+
184
+ The interview for me comprised of 3 rounds(All technical) as it was already 3:30 in the morning and they had to wrap up by 5 A.M. for their early morning flight. The first interview had questions only from DS-algo basically Graph and DP. I don’t remember the questions properly but one of them was reduced to topological sorting. Though it wasn’t easily reducible and the interviewer gave hints for me to figure out. The interviewer wanted me to think out loud and reach the optimal solution logically and organized. The solutions once explained were expected to be written on paper and conceding no errors. Of the three questions asked I could not answer the optimal solution for the last one. Also, there was mandatory ‘tell me about yourself’.
185
+
186
+ The second interview had two interviewers simultaneously conducting interviews. All of us were quite exhausted by now but still conducted the interview pretty enthusiastically. They asked two data structure problems, both were orthodox, I mean people generally prepare those questions. The problems were on trees and DP. The tree problem reduced to level order traversal for a binary tree. The Dp problem was similar to the coin change problem though I don’t remember the exact problems. Again thinking out loud was the expectation and codes were to be written on a paper.
187
+
188
+ The third interview was also conducted similarly to second with two interviewers simultaneously conducting it. It was already 4:45 in the morning. Each of them asked me a problem. Again, I don’t remember the questions but one of them was calculating expectation for a discrete probability distribution. After that, they asked me a graph problem that looked to me like an NP-hard. They themselves admitted they didn’t know the solution to it and just wanted an approach to the problem till their cab arrives.
189
+
190
+ So, CV played the role of a conversation starter and all the interviewers went through it thoroughly. Don’t try to fake it. Don’t mention any fancy courses if you are not confident in them as there are definitely questions from them. For non-circuital branches, doing basic courses on probability and Statistics is gonna be a big plus as most questions are from them. Also, people thinking to prepare exclusively for the quant profile must practice DS-Algo as the interview may involve some questions from them(apart from the screening test). Also, OOPS is pretty important as it is heavily featured in tests with MCQs in it. Also, practice writing codes on paper a few times as there isn’t any backspace while writing and the interviewers tend to check on your effectiveness while you write the code.
191
+
192
+ ORACLE
193
+ by Deepti Mathur www.linkedin.com/in/deepti-mathur/
194
+
195
+ The test consisted of MCQs from DSA, OOPS, DBMS, and OS. Another section had the aptitude and logical reasoning MCQs. Every section was timed. No negative marking. The questions were of decent difficulty. It was different than the previous year’s pattern.
196
+ The test consisted of two parts, MCQs and 2 coding questions.
197
+ Interview Round: 2 technical, 1 HR
198
+
199
+ The first interview was based on projects/experiences written in CV. You should know everything about the work you’ve mentioned there. The interviewer asked grilling questions on one of my projects and wanted a brief explanation of another one. He asked me to give a basic approach to two coding questions, one question was from arrays, and the other one was from DP.
200
+ In the second interview, the questions were asked from OS, OOPS, and DBMS. Make sure you have revised them and have a good understanding of all the basic concepts. Especially DBMS. Also, he asked me to write the pseudocode for a question from arrays.
201
+
202
+ The HR round was pretty chill. She asked me some questions about my family and college life. Then some basic HR questions.
203
+ The key to all the interviews is to never lose confidence. Also, make sure you are showing an eagerness to learn stuff. They are not expecting you to know everything, but they want people who are quick learners.
204
+
205
+ JPMorgan (SDE)
206
+ by Avish Kabra www.linkedin.com/in/avish-kabra/
207
+
208
+ I was the first one to interview for JPMC SDE, As they were about to start early in the morning. I had a good number of shortlists in that slot so I decided to have an early start. The entire interview process was very smooth and they were very supportive.
209
+
210
+ I had 2 technical rounds, each had 2 interviewers in the panel. In both rounds, they were very focused over my CV.
211
+
212
+ Round 1: After a brief introduction, they asked me to describe my 2nd-year internship project. As it was based on Machine Learning, the interview started with questions from ML. I was asked to give a very intuitive definition for ML so that anyone who doesn’t know ML can also understand, followed by detailed and conceptual questions on regression, deep learning and CNN layer related parameters. Then there were 2 coding questions. One was from DP and I don’t remember what the second question was (Probably Trie based). I had a research paper from my internship so we went on to discuss that.
213
+
214
+ Round 2: Here I was asked to explain my 3rd-year internship project. Then there was a data structure based question, where I had to design a notepad-like application with few features (returning the word number on using find command, editing or deleting words, and few others). I provided my approach and they were satisfied so they asked me to write the class on paper. As I was going in the right direction, they told me it is fine and we started discussing doubly linked lists and hash maps. Most of my projects were computer vision-based so they asked me a related question: Suppose you are provided with election voting papers in which voters have put their respective seals in front of their preferred candidates. Now you have to count the number of votes to each candidate. I started with Haar-cascade, which they weren’t sure would work, so I explained my approach. After a very lengthy discussion, I was asked to write my code on paper.
215
+
216
+ Next, they asked me about my PORs and my individual contributions to Alcher. They specifically asked what was the main difference in my way of approach than previous ones that brought the results.
217
+
218
+ Round 3: This round was with a VP. It wasn’t technical but rather an informal one. As I was getting calls from other companies, he told me that I can relax now as I am already selected based on my reviews from technical round. We had a very interesting discussion on mathematics, books, probability, life in IIT, etc. He also asked me to solve a mental mathematics problem with a timer on.
requirements.txt ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ streamlit
2
+ python-dotenv
3
+ langchain-core
4
+ langchain-community
5
+ huggingface-hub