Quick answer
A strong TD Software Engineer candidate can explain the core job skills, the business problem behind the work, how customer or stakeholder outcomes improve, and how they manage risk, privacy, compliance, or operational controls.
Role expectations
Software engineers in Canadian banking build secure, reliable systems for digital banking, internal operations, payments, data platforms, risk tooling, and customer experiences. At TD, prepare to connect this work to Canadian banking, wealth, insurance, technology platforms, analytics, risk, and customer channels.
Five practice questions
1. Write an async JavaScript function fetchWithRetry(url, options, retries) for a banking API client. Retry transient 5xx failures, but do not retry 4xx validation errors.
JavaScript coding - medium
Strong answers cover: Uses async/await, Retries only transient failures, Stops after max retries, Handles errors clearly, Avoids logging sensitive data.
2. Write a JavaScript function maskAccountNumber(value) that returns only the last four digits visible and masks the rest. It should handle spaces, null, and short values safely.
JavaScript coding - easy
Strong answers cover: Defines a function, Handles null/empty input, Normalizes spaces, Masks safely, Does not expose full account number.
3. Implement a simple in-memory token-bucket rate limiter in JavaScript for an internal API. The function should decide whether a request key is allowed and refill tokens over time.
JavaScript coding - hard
Strong answers cover: Tracks tokens by key, Refills over time, Rejects over-limit requests, Avoids global leaks where possible, Notes multi-instance limitations.
4. Write a Python function clean_transactions(df) that removes duplicate transaction IDs, parses transaction_date, fills missing amount as 0, and keeps only non-negative amounts.
Python coding - easy
Strong answers cover: Defines a function, Handles duplicate IDs, Parses dates, Handles missing and negative amounts.
5. Walk through how you would validate a Python pipeline before using its output in a banking decision.
Python - medium
Strong answers cover: Unit tests, Data validation, Edge cases, Monitoring or reproducibility.
Preparation checklist
- Read the official posting and identify the top skills, tools, customers, and business outcomes.
- Prepare examples that show ownership, collaboration, measurable results, and regulated-environment judgement.
- Practice explaining a technical or financial tradeoff in plain language.
- Prepare thoughtful questions about team priorities, success metrics, risk controls, and growth paths.