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!
© Copyright 2024