Dear Candidate,

    Congratulations on being selected for the next round of interviews for the software engineering position at our company. As part of the interview process, we would like you to complete a take-home test. Please follow the instructions below carefully:
  1. You will find a zip file attached to this page named "abx_exchange_server".
  2. Download and unzip this file to access the contents.
  3. Enter the extracted folder.
  4. Run the command "node main.js" to start the ABX exchange server.

Now that the server is up and running, your task is to develop a C# client application capable of requesting and receiving stock ticker data from the ABX exchange server. The goal of your C# client is to generate a JSON file as output. This JSON file should contain an array of objects, where each object represents a packet of data with increasing sequences. It is essential to ensure that none of the sequences are missing in the final JSON output.

The specifications for the "ABX Mock Exchange Client" are provided below:

<aside> đź’ˇ

ABX Mock Exchange Server Specification

Introduction

This document provides a specification for developers who want to code a client to interact with the ABX mock exchange server. The ABX server simulates a stock exchange environment and allows clients to request data related to the order book.

Server Connection

Data Transmission

Request Payload Format

Call Types

  1. Call Type 1: Stream All Packets
  2. Call Type 2: Resend Packet

Response Payload Format

Handling Responses

Missing Sequences:

Recommendations and Best Practices

This specification provides the necessary details to develop a client application that can interact with the ABX mock exchange server and retrieve data from the order book.

</aside>

This specification provides you with the necessary details to develop a client application that can interact with the ABX mock exchange server and retrieve data from the order book.

abx_exchange_server zip file:

abx_exchange_server.zip

Instructions: