Bloomberg - Information Technology

Bloomberg - Information Technology Interviewing Guide
What to Expect & How to Prepare
Bloomberg is well known for highly competitive hiring practices; they recruit the best and brightest technologists
in the world. The following information should guide your interview preparation and help you present yourself
effectively during and after the interview.
Over the past 10 years Andiamo has helped thousands of candidates through the interview process at
Bloomberg and we have significant experience and research behind us. This guide comprises the information
candidates generally find most helpful as they prepare for their interviews with Bloomberg.
This guide is designed for those interviewing for the following positions: Application/Software Developer, Senior
Developer, Team Lead, Architect or Development Manager. No matter the organizational level, development
interviews can be technically challenging. The proper preparation will go a very long way in increasing your
chances of performing well.
Technical Interview Questions

Object Oriented Design Concepts & Data Structures: For virtually any position at any seniority level
in development you will be asked questions about object oriented design and data structures. Since the
predominant development environment at Bloomberg is C/C++ on Unix/Linux, core OOD questions will
often be focused specifically as they relate to this environment. These types of core computer-science
fundamental questions are fairly academic in nature and are very common in Bloomberg interviews.
Preparing for these questions is imperative as many candidates don’t face these types of questions in
their daily work lives (see below for OOD questions & answers).

Hiring Managers from Bloomberg specifically recommend Codecon. Some of their engineers have
created problems that they believe will specifically help individuals to prepare for the technical interviews
at Bloomberg, as these are the types of questions they will ask.

To be comfortable during your interview with Bloomberg, we recommend sample programming and
algorithm based questions from HackerRank. HackerRank is an online live programming tool commonly
used by Bloomberg to work with candidates during the first round phone interview. Through this link, you
will be able to select sub-domain categories, providing access to multiple practice programming
questions on the actual user interface that is used during your phone interview.
Some of the most beneficial sub-domains categories are Algorithms: warm-up, strings, search, data structures,
arrays/sorting; Functional Programming: introduction, data structures, recursion, interpreters/compilers.

Based on feedback from previous candidates, Leetcode’s algorithm problems has been found to be
particularly useful in preparing for Bloomberg’s technical interviews. There are over two hundred practice
problems, as well as articles explaining common questions that occur during interviews.

Cracking the Coding Interview by Gayle Laakmann McDowell. Many candidates have told us that the
interview preparation advice in this book was a factor in their performance in their interviews with
Bloomberg.
We have selected some OOD excerpts from the book below. Please read these in detail – the more time
you spend preparing with this information, the better you’ll likely perform in your interviews.



Object Oriented Design - Questions
Object Oriented Design – Answers
Technical Areas to Focus on:
This list is long, but software engineers from Bloomberg have told us that understanding these areas are key
to not only pass a Bloomberg interview, but to thrive within their work environment.

o
Algorithm Complexity: We’ve also found this helpful chart for common algorithms used in Computer Science
(searching, sorting, data structures, etc.) and have been told that it is quite useful in preparation for
development interviews. We also recommend Top Coder’s Algorithm Sample Problems – this is a great way to
practice core skills relating to algorithm development. Also, check out MIT Open Courseware – Introduction to
Algorithms.
o
Sorting: Know how to sort. Don't do bubble-sort. You should know the details of at least one n*log(n) sorting
algorithm, preferably two (say, quicksort and mergesort). Merge sort can be highly useful in situations where
quicksort is impractical, so take a look at it.
o
Hashtables: Arguably the single most important data structure known to mankind. You absolutely should know
how they work. Be able to implement one using only arrays in your favorite language, in about the space of one
interview.
o
Trees: Know about trees; basic tree construction, traversal and manipulation algorithms. Familiarize yourself
with binary trees, n-ary trees, and trie-trees. Be familiar with at least one type of balanced binary tree, whether
it's a red/black tree, a splay tree or an AVL tree, and know how it's implemented. Understand tree traversal
algorithms: BFS and DFS, and know the difference between inorder, postorder and preorder.
o
Graphs: Graphs are really important at Bloomberg. There are 3 basic ways to represent a graph in memory
(objects and pointers, matrix, and adjacency list); familiarize yourself with each representation and its pros &
cons. You should know the basic graph traversal algorithms: breadth-first search and depth-first search. Know
their computational complexity, their tradeoffs, and how to implement them in real code. If you get a chance, try
to study up on fancier algorithms, such as Dijkstra and A*.
o
Other data structures: You should study up on as many other data structures and algorithms as possible. You
should especially know about the most famous classes of NP-complete problems, such as traveling salesman
and the knapsack problem, and be able to recognize them when an interviewer asks you them in disguise. Find
out what NP-complete means.
o
Mathematics: Some interviewers ask basic discrete math questions. This is more prevalent at Bloomberg than
at other companies because we are surrounded by counting problems, probability problems, and other Discrete
Math 101 situations. Spend some time before the interview refreshing your memory on (or teaching yourself)
the essentials of combinatorics and probability. You should be familiar with n-choose-k problems and their ilk –
the more the better.
o
Operating Systems: Know about processes, threads and concurrency issues. Know about locks and mutexes
and semaphores and monitors and how they work. Know about deadlock and livelock and how to avoid them.
Know what resources a processes needs, and a thread needs, and how context switching works, and how it's
initiated by the operating system and underlying hardware. Know a little about scheduling. The world is
rapidlymoving towards multi-core, so know the fundamentals of "modern" concurrency constructs.
Common Technical Interview Questions:
The following questions are the most common first-round telephone interview questions you’re likely to
encounter:
o
o
o
o
o
o
o
o
o
In a multithreaded environment, what are two types of methods to protect memory from being written over
by two threads at the same time?
What is a destructor class used for? What would be the possible consequences if a destructor class
throws an exception?
Name two data structures available in the C++ Standard Library (STL) and describe what they do.
Give an example in which you would use recursion.
What is a singleton class?
In C++, what is the difference between an assignment operator and copy constructor?
Does a C++ compiler create a copy constructor on its own, or do you have to write them yourself
Why would you want to implement your own copy constrictor?
Let's say you were writing an autocomplete algorithm for a search engine. What would be an efficient way
to store the data to efficiently give a list of autocompletes?
o
o
o
o
o
o
o
o
In general regarding answers you give: how fast would your algorithm run?
What is thread deadlock?
What would you use a static variable in a class for?
What does a smart pointer in C++ do?
What is the difference in C++ between using: delete p; and delete[] p; ?
Write a function that takes a pointer to a string and reverses the string.
How would you implement a stack that supported not only the standard interface (push + pop), but
another method called getMinimum?
Given an array of numbers such a "4 1 2 2 4", describe an algorithm to remove duplicates, producing for
instance "4 1 2". Would not needing to maintain the same order in the output change your answer?

You can also review recent Bloomberg Interview Questions and Answers at CareerCup.com – you
can select specific areas of focus for more relevant questions.

We also recommend candidates visit www.codechef.com, www.topcoder.com, or similar websites to
brush up on problem solving and core Computer Science fundamentals.
Telephone Interview – The “Phone Screen”
Your first round interview with Bloomberg will likely be over the phone with one or more senior technologists.
The purpose of the phone screen is to quickly communicate your skills and background in relation to your
resume and the job description. Phone screens generally last about 30-45 minutes each and are often very
technical. The interviewer will typically introduce him or herself, give a brief introduction about his or her
background, division, and/or the position, and then get right into the technical questions. The interviewer is
tasked with finding out if it will be worth the team’s time to bring you in to meet with everyone for an
extended, on-site interview.
For telephone interviews with Bloomberg, you will need to be in front of a computer with a secure &
reliable internet connection. Bloomberg often integrates HackerRank.com into their telephone interview
process to allow you to share your coding solutions live.
The need to make a good impression on the phone cannot be overemphasized. Included below are some
important factors to consider. Preparation will increase your confidence and ability to focus during the
interview, enabling you to make a favorable impression.
Clear a quiet work area and keep the following tools handy to aid your fact gathering and information
sharing:
1. A copy of your resume.
2. A copy of the job description.
3. A note pad and pen.
4. Two or three carefully worded questions you’ll want to ask about the company/division and position.
5. A watch or clock.
6. A glass of water.
7. A computer with a secure internet connection.
Important Suggestions to Consider:

If you are scheduled to receive this call on your cell phone, make sure you are in a quiet place where
you will receive excellent reception.

The quality, pitch, and tempo of your speech convey a certain attitude, energy level, and
enthusiasm.

Listen carefully. Telephone interviews can be difficult because you can’t read the interviewer’s body
language. Allow the interviewer to complete questions without finishing his train of thought for him or
blurting out answers prematurely.

Provided the job interests you, express your desire to proceed to the next step: an in-person
interview.

End the conversation on a positive note. Thank the interviewer for the information shared. Let him or
her know again that you look forward to visiting the company.

The on-site interview will be coordinated between Andiamo and the hiring manager (or Human
Resources).

Right after the interview, follow up with your recruiter to discuss initial feedback and the next
steps.
The In-Person Interview

Scheduling: Scheduling interviews with Bloomberg requires extensive coordination. In an effort to
represent your candidacy effectively, we are only able to reschedule interviews under extreme
circumstances. Should an emergency arise, please contact me at least 48 hours prior to your interview
with a detailed explanation as well as alternate availability. Taking this care ensures that necessary
scheduling conflicts do not reflect poorly on your candidacy.

Travel (for out-of-area candidates): You will coordinate your air travel and hotel stay in New York
directly with your Andiamo Partner’s recruiter and receive your travel confirmation details from an HR
Coordinator at Bloomberg. Once we have confirmed that they are interested in having you fly out for an
in-person interview in New York we will need the following information: Your full legal name; your date
of birth; your planned departure airport.

Arrival: Plan on arriving to the interview approximately 15 minutes early. However, do not check in with
the front desk until just prior to the scheduled time (being too early is as bad as being late).
Your Andiamo recruiter will have provided you with the name of the interviewer you’ll ask for when you
arrive (generally the first person you’ll be meeting with). Front desk security will call up to that person
and provide you with the floor and conference room number. If the front desk cannot get in touch with
the person (even if they’ve left a message), call your Andiamo recruiter right away and we can quickly
have that person tracked down. If you have waited longer than 10 minutes in the lobby and have not
been called up, please call Kim Wathey at 646-747-5160 and she will get in touch with the HR scheduler
on-site to make sure your interviewer is on schedule.

Items To Bring:
o Photo ID (needed when you check in at the front desk)
o Two copies of your resume
o Copy of the job description
o Your recruiter’s phone number, in case you need to get a hold of your Andiamo Partner’s recruiter
prior to the interview and so that you can call them afterward to discuss.

Important In-Person Interview Tips:
o You must be able to display knowledge of ALL of the skills and technologies included on your
resume. The interviewer would rather you show genuine interest in learning a new technology than
profess knowledge or expertise in an area where you lack experience.

o
During the interview, make sure to gather the information you’ll need to make an educated
decision regarding your level of continued interest.
o
ASK QUESTIONS – It is very important that you ask questions that display your thoughtful interest
in both the position and company. Come prepared with a short list of questions relevant to the
company and position.
Communication Skills: In addition to the technical assessment, your communication skills will play a
large factor in the assessment. Throughout the interview, interviewers will be looking for candidates
who:
o are articulate and confident, yet diplomatic and thoughtful…. have strong opinions as well as the
ability to listen to others.
o
strive to notice and recommend technologies that benefit the business… who understand the
symbiotic relationship between IT and business. Specifically, being able to understand how their
day-to-day responsibilities impact the business from an organizational and financial standpoint.
This demonstrates an ownership mind-frame, and is highly valued by their teams.
o
have the ability to handle a challenging and sometimes hectic environment… who are able to
multitask and switch gears quickly.
o
have the ability to explain elaborate technology solutions in an organized manner… someone who
can answer questions without being either long-winded or too short.
The Interview: Other Important Factors to Consider
Dress Code (Business Casual / Formal)
The technology division of Bloomberg is not strictly a formal work environment; however, appropriate
interview attire should be business casual to formal.
Men: Slacks/dress pants. Polo shirt or dress shirt (dress shirt preferred). Wearing a suit &
Tie is optional.
Women: Slacks/Dress Pants. Nice blouse or sweater. Wearing a suit is optional.
Behavioral Questions
 Be prepared to answer the question “Why are you interested in Bloomberg?” - and/or - “Why are you
interested in this particular division or position?”
 Spend a little time reading the About Bloomberg webpage - this information should guide your
answers to behavioral questions.
The Art of Interviewing
Below are several links that address the methodology that many interviewers adhere to for the interview
process. Considering why the interviewer is asking particular questions can help you discovery themes that
can ultimately help you ace the interview.
 Five Essential Phone Screen Questions by Steve Yegge
 How to Get Hired by Dan Kegel
 How to Interview a Programmer by Dan Venners
 The Guerrilla Guide to Interviewing by Joel Spolsky
Next Steps
We will strive to provide each candidate with as specific a timeline as possible on a case by case basis. Each
position and hiring manager’s timeline is slightly different. Depending on interview schedules and other
candidates involved, feedback timing can be difficult to predict.
Generally speaking, you can expect to hear feedback within about 1 week of your telephone or in-person
interview. If there are multiple candidates interviewing for a position (which is most often the case) feedback may
take a bit longer as hiring managers sometimes like to have met with multiple candidates before deciding next
steps for any one candidate. You will receive feedback and next steps from your Andiamo recruiter. We always
strive to communicate as detailed feedback as possible, regardless of the outcome.
The offer process at Bloomberg is unique among financial services firms. Luckily, we’ve guided hundreds of
candidates through the offer and on-boarding process at Bloomberg and can describe each step to you in great
detail and prepare you for what to expect. If you have interviewed on-site, you can expect to have a detailed
conversation with your recruiter about what to expect regarding the offer, negotiation, and on-boarding process.
Good luck interviewing with Bloomberg!