Software Engineer

Software EngineerSenior Software EngineerMedium to Hard

FactSet is looking for a Senior Software Engineer to join our dynamic team. This role involves designing, developing, and maintaining high-quality software solutions that power our financial data and analytics platforms. You will collaborate with cross-functional teams to deliver innovative products and contribute to the technical growth of the engineering department.

Rounds·4

Timeline·~14d

Experience·5 - 10 yrs

Comp band·US$140000 - US$180000

Interview time·180 min

Evaluation

What they measure.

  • Problem-solving skills
  • Algorithmic knowledge
  • Data structure proficiency
  • Code quality and efficiency
  • Ability to write clean, maintainable, and testable code

Preparation

How to prepare.

Tips

  1. Review fundamental data structures and algorithms.
  2. Practice coding problems on platforms like LeetCode, HackerRank, or AlgoExpert.
  3. Study system design principles and common architectural patterns.
  4. Prepare to discuss your past projects and technical contributions in detail.
  5. Research FactSet's company culture, values, and products.
  6. Understand the STAR method (Situation, Task, Action, Result) for behavioral questions.
  7. Practice mock interviews to simulate the actual interview experience.

Study plan

Fig · Study plan — 04 phases

01 / 04
01

Phase 01 of 04

Data Structures and Algorithms

Weeks 1-2: Data Structures & Algorithms fundamentals. Practice 2-3 problems daily.

Weeks 1-2: Focus on core data structures (Arrays, Linked Lists, Trees, Graphs, Hash Tables) and algorithms (Sorting, Searching, Dynamic Programming, Recursion). Practice implementing these from scratch and analyze their time and space complexity. Solve at least 2-3 problems per day.

Questions

Commonly asked.

  • Tell me about a time you had to deal with a difficult stakeholder. How did you handle it?
  • Design a URL shortening service like bit.ly.
  • What are the differences between processes and threads?
  • How would you optimize a slow database query?
  • Describe a situation where you disagreed with your manager. What did you do?
  • Implement a function to find the k-th largest element in an unsorted array.
  • Explain the concept of eventual consistency.
  • How do you approach code reviews?
  • Tell me about a project you are particularly proud of.
  • Design a system to handle real-time notifications for a social media platform.

Locations

Regional differences.

Fig · Regions — 03 locations

01 / 03

Location

New York

Interview focus

System Design and ScalabilityProblem-solving and Algorithmic ThinkingExperience with distributed systemsProficiency in Java/Python/C++ and relevant frameworksUnderstanding of financial markets and data

Common questions

  • How would you design a system to handle real-time stock price updates for millions of users?
  • Describe a complex technical challenge you faced and how you overcame it.
  • What are your thoughts on microservices vs. monolithic architecture for a financial data platform?
  • How do you ensure code quality and maintainability in a large codebase?
  • Discuss your experience with cloud platforms (AWS, Azure, GCP) and their services relevant to data processing and storage.

Tips

  • Be prepared to discuss your experience with large-scale systems and distributed computing.
  • Familiarize yourself with common financial data structures and APIs.
  • Practice explaining your thought process clearly and concisely.
  • Highlight any experience with performance optimization and low-latency systems.
  • Research FactSet's products and services to understand our business context.

Rounds

Round-by-round.

Expand a step for evaluation criteria, sample questions, and prep notes.

DSA

Coding questions at FactSet.

Frequently reported on FactSet loops

Other guides

More at FactSet.