Software Engineer

Software EngineerSoftware Engineer IIMedium

FactSet is looking for a Software Engineer II 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 continuous improvement of our engineering practices.

Rounds·3

Timeline·~14d

Experience·2 - 5 yrs

Comp band·US$110000 - US$140000

Interview time·150 min

Evaluation

What they measure.

  • Problem-solving ability
  • Technical proficiency in relevant programming languages and data structures
  • System design and architectural thinking
  • Communication and collaboration skills
  • Cultural fit and alignment with FactSet values

Preparation

How to prepare.

Tips

  1. Review fundamental data structures and algorithms.
  2. Practice coding problems on platforms like LeetCode, HackerRank, or Coderbyte.
  3. Brush up on object-oriented design principles.
  4. Understand common software design patterns.
  5. Prepare for behavioral questions using the STAR method (Situation, Task, Action, Result).
  6. Research FactSet's products, services, and company culture.
  7. Think about past projects and be ready to discuss your contributions and challenges.
  8. Prepare questions to ask the interviewer about the role, team, and company.

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 implementations and complexity analysis.

Weeks 1-2: Focus on core data structures (Arrays, Linked Lists, Stacks, Queues, Trees, Graphs, Hash Tables) and their associated algorithms (Sorting, Searching, Graph Traversal, Dynamic Programming). Practice implementing these from scratch and analyze their time and space complexity.

Questions

Commonly asked.

  • Describe a time you had to debug a complex production issue. What was your approach?
  • How would you design a system to track stock prices in real-time for millions of users?
  • Explain the difference between a process and a thread.
  • What are the trade-offs between using a relational database and a NoSQL database for financial data?
  • Tell me about a time you disagreed with a technical decision made by your team. How did you handle it?
  • How do you stay updated with new technologies and industry trends?
  • Write a function to find the kth smallest element in an unsorted array.
  • What is polymorphism and how is it implemented in your preferred language?
  • Describe a situation where you had to work under a tight deadline. How did you manage your time and priorities?

Locations

Regional differences.

Fig · Regions — 03 locations

01 / 03

Location

Norwalk, CT

Interview focus

Understanding of FactSet's specific technologies and platforms.Ability to adapt to the company culture and collaborative environment.Problem-solving skills within the context of financial data processing.

Common questions

  • Tell me about a challenging project you worked on at FactSet.
  • How do you handle conflicting priorities between different teams?
  • Describe a time you had to mentor a junior engineer.

Tips

  • Research FactSet's products and recent news.
  • Prepare examples that demonstrate collaboration and impact within a large organization.
  • Be ready to discuss how your skills align with FactSet's mission.

Rounds

Round-by-round.

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

Med

Technical Interview (Coding) · 45 min · Software Engineer / Senior Software Engineer

This round focuses on your core programming skills. You will be asked to solve one or two coding problems, typically involving data structures and algorithms. The interviewer will assess your ability to write clean, efficient, and well-tested code, as well as your approach to problem-solving and your understanding of algorithmic complexity.

What they look for

Clean and efficient code.Logical and structured approach to problem-solving.Understanding of time and space complexity.Ability to communicate technical concepts effectively.

Evaluation

  • Problem-solving skills
  • Coding proficiency
  • Understanding of data structures and algorithms
  • Ability to explain code and logic

Sample questions

  • Given a binary tree, invert the tree.

    Data StructuresAlgorithmsTreesRecursion
  • Find the first non-repeating character in a string.

    StringsHash TablesAlgorithms

Prep for this round

  1. 01Practice coding problems on platforms like LeetCode.
  2. 02Focus on understanding time and space complexity (Big O notation).
  3. 03Be prepared to explain your thought process as you code.
  4. 04Practice writing code on a whiteboard or in a shared editor.

Common rejection reasons

  • ×Inability to articulate thought process clearly.
  • ×Lack of fundamental programming knowledge.
  • ×Poor problem-solving approach.
  • ×Not asking clarifying questions.

DSA

Coding questions at FactSet.

Frequently reported on FactSet loops

Other guides

More at FactSet.