interview process was very efficient and flexible.
Contacted by recruiter for a senior software engr position. I submitted my resume, and within 1 day, set a phone interview.
Phone Interview - [ 1 hour ]
Spoke to: another senior engineer
Format: Hackerrank
Questions: 4
1. Design a queue with a getMin() function
2. Design a function to find the sqrt of a number, exact to 0.001
3. Write a function to find all primes between 1 to N
4. Describe how SQL indexes are made
- was a bit surprised by this one. nethertheless, it is coursework I took in my undergrad so I knew.
I solved all of them pretty fast. The interviewer told me they would get back to me the next day. The next morning, I scheduled an onsite.
They helped out with the flight + hotel + car ride.
Onsite Interview - (8 rounds)
I had 8 rounds of interviews... It was a really intense and stressful day.
Round 0 - got a tour of the fantastic building. I got some OJ and coffee and headed up to the first room.
Round 1 - [ 1 hour ] - 2 people - Coded on HackerRank and compiled with test cases
- Write a function to determine the number the ways to make N cents given an array S which contains the currency of the coin. I.E. if S = {1,5,10,25}, and N = 25, Find the number of ways to make N cents using pennies, nickels, dimes, and quarters.
I used the standard DP approach and was able to solve the problem in the first try.
Round 2 - [ 1 hour ] - 2 people - Coded on HackerRank and compiled with test cases
- Write a code to determine if a pattern exists in a string. I struggled quite a bit with this one. The interviewer said "rolling hash", and it clicked. The hash function has to be rolled in the text to be matched with the pattern. Remember to use prime numbers for the base and mod and know the ins and outs of hashing.
I wrote the function, ran, and passed the test case on HackerRank.
Round 3 - [ 1 hour ] - 2 people - On paper , Really heavy c++ basics.
- This is the first on paper interview. What a relief I thought .. I thought wrong, they asked many C++ basics which I was not very confident in. regardless, i was able to answer every question correctly with some help.
1. What are the main additions to C++ in C++14? (I happened to know a few new STLs and common libraries so mentioned those)
2. What's the difference between const char * p, and char * const p ?
3. Whats the underlying data structure of a <vector>? <map> ? <unordered_map> ?
Round 4 - [1 hour ] - 2 people. on their computer - STRESS INTERVIEW, it was extremely stressful.
This was the 'harsh' interview.
"Design me a server."
Any questions I asked were promptly rejected to say, "I don't know, do you think that would be good?, If you think that's good, then add it"
The interviewers were quite negative but I believe that was the intent of the interview.. to see how I handle pressure.
I ignored it all, had a big smile on my face with confidence, laid out my assumptions, and created a basic singleton server that can take requests and respond to a request using the c++11 thread library <thread>
I struggled getting the code to compile because I was rusty with mutexes and thread joins. With their help I was able to get a fully functional multi threaded server to run on their computer.
Round 5 - [1 hour ] - 2 people , Lunch interview ,asking about my personality and behavioral questions.
At this point, I was asked to lunch by 2 of the managers.
I saw one of the managers make a phone call, and he asked me to come back to the office to speak with his manager.
Round 6 - [ 30 minutes ] - 1 person - Talking with a senior manager - WHY BLOOMBERG??
I talked with a tech exec about my personality.
1. Why do you want to leave you current company?
2. Why do you want to join us?
3. What would you be your short term career goals ?
Round 7 - [ 30 minutes ] - 1 person - Talked with a HR rep.
Same questions as before.
1. Why Bloomberg?
2. Given a problem, what is your approach to solve it?
Round 8 - [30 minutes ] - 1 person - Talked to the head of HR
Same as before.
If you expect to get an offer, be ready to answer the common behavioral questions. Also, you should be able to do 99% of CS interview questions in your sleep. Doing them on a computer with 2 people breathing down your neck definitively makes you forget things. Be confident. Speak clear. Record your self talking through a problem, and listen to it. Do you sound clear? Are you easy to understand ? No? THEN PRACTICE AGAIN!
Record your self answering the question " Why bloomberg?" " Why do you want to leave your company?" It BETTER SOUND GOOD!
[OFFER]
I got an offer the next morning at 9am. The offer was 30% higher than my salary expectation.
I accepted the offer right away and have been working here for the past 4 months and am having a splendid time.