Backend work at a firm centred on wealth management and investment work for clients means services that value portfolios, keep the history of every holding, calculate advisory fees and produce client statements. Financial advisors and clients read the output and act on it. Prepare to talk about valuation at scale, data that must be shown as it stood on a past date, permissions between advisors and clients, and correcting past errors. What to show here: figures a client can rely on and history kept intact. Each question below has what the interviewer is checking, an answer frame and a sample spoken answer to adapt.
How Morgan Stanley hires, in its own words, and its questions for every job →
“I inherited a pricing module where each customer type had been added as another branch in one long function. Every change broke something. Before touching it, I recorded real inputs and outputs from production for a few weeks and turned them into tests. Then I moved the rules, one customer type at a time, into a table of rules with clear names, checking the recorded cases after each move. I also asked the business owner which special cases were still in use, and several were not. After that, a new rule was a small reviewed change, and your result.”
Weak answers rewrite everything in one go, or keep adding branches because it is quicker.
“A reporting service I owned became very slow one morning, and account managers needed reports for customer calls that day. While a colleague looked for the cause, I posted a short note in their channel: what was affected, what still worked, and when I would update them next. I kept to that time even when there was little news. I also exported the most requested report by hand for three people with early calls. The cause was a missing index after a data load. Later I added a status page for that service, and your result.”
Weak answers go silent until the fix, or answer users in technical terms they cannot use.
“Holdings change only when there is a trade or a transfer, while prices change all day. So I would store them apart. Many accounts hold the same securities, so each price is fetched once and shared. An account's value is the sum of quantity times latest price, and I would compute it when asked and cache it briefly, with the time of the prices attached so the advisor can see how fresh it is. For an advisor's whole book, I compute accounts in parallel. If a price is missing, I use the last known one and mark it. The official end-of-day value is computed separately and stored.”
Weak answers recompute every account on every price change, or show values without saying when the prices were taken.
“I would first take a fixed snapshot of holdings, prices and activity as of the period end, so every statement is built from the same data. The job splits accounts into groups, and each account can be regenerated alone if it fails. Before release, I run checks: every open account has a statement, opening value equals the last closing value, and totals match the books. Documents are stored with a version. If one is wrong, I issue a new version marked as corrected, notify the client, and keep the original on record, because someone may ask what the client was first shown.”
Weak answers read live data while generating, or overwrite a wrong statement as if it never existed.
“One row per holding with an average cost loses information, so I would store each purchase as a separate lot with its date, quantity and cost. When the client sells, the service picks lots by the agreed method, for example oldest first, and reduces them. A sale can use all of one lot and part of another. I would write a link record for each lot used, with the quantity and the gain, so the result can be explained later. Lots are never deleted, only reduced. If a past purchase is corrected, the affected sales are recalculated and the change is recorded.”
Weak answers keep only a total quantity and an average price, and cannot say which purchase a sale came from.
“I would store the relationships as data: which advisor covers which client, which assistant supports which advisor. On every request, the server works out the set of accounts the caller may see from their identity. It never trusts an account id sent by the client without checking it against that set. The check lives in one shared layer that every query passes through, so a new endpoint cannot forget it. When an advisor leaves or a client moves, only the relationship data changes. I would log who viewed which account, and write tests that try to read a stranger's account and expect a refusal.”
Weak answers hide accounts in the user interface only, or check permission in some endpoints and not others.
“First I would confirm it with a worked example and then find every affected account and the exact difference for each. I would take that to my lead and the business owner the same day, because clients were overcharged and the firm will need to decide how to tell them. The repair is a new credit entry on each account that refers to the original fee. I would not edit the past charge. The list of credits is reviewed by a second person before it runs. Then I fix the rule, add the failing case as a test, and check earlier quarters for the same fault.”
Weak answers fix the code for next quarter and leave the past charge alone, or change old records in place.
“I like backend work where time matters in the data. In wealth management you must know what a client held, what it was worth and what you told them on any past day, even after later corrections. That is a harder and more interesting problem than storing the latest state. At Morgan Stanley the output reaches advisors and clients who make real decisions with it, so there is no room for a figure you cannot explain. I have built billing and reporting services, and I would like to learn the investment side properly: lots, valuations and how fees are derived.”
Weak answers speak about finance paying well or being fast, and never mention the data or the clients.
No figures on this page: pay depends on the level, the city and the offer in front of you. When the offer comes, the free salary negotiation script helps with that part.
ClapAssist is an AI interview assistant for Mac and Windows. It listens to the interview on your computer and shows you what to say, in short lines you can read while you talk. Your live interview audio and screen are never stored. Your resume and notes are saved to your account so the app fills them in on any computer. It is hidden from screen share on every plan, including Free; only you can see it.