all projects

bruno-sartori/fuzzy-engine

fuzzy-engine

language
—
stars
0
forks
0
updated
Oct 31, 2025

README.md

Code Challenge for Senior Front-End Engineer (React) - Job5598 Evaluation of Job Description This is a valid IT job description for a Senior Front-End Engineer role specializing in React with deep integration into Microsoft Azure services and AI capabilities. The role clearly involves software development, front-end architecture, and cloud integration, making a coding challenge necessary to assess the candidate’s technical skills effectively.

Code Challenge Challenge Title: Build a React Dashboard with Azure Cognitive Services Integration and Redux State Management

Challenge Description: You are tasked with building a simplified React dashboard that demonstrates the following core skills from the job description:

React component design and state management using Redux.

Integration with an external AI service (simulate Azure Cognitive Services).

Responsive UI using Material-UI components.

Performance-conscious rendering of data.

Accessibility considerations (basic WCAG compliance).

Fetching and displaying data from a RESTful API.

Requirements: Dashboard Layout: Create a responsive dashboard with Material-UI that contains:

A header with the app title.

A main content area with two sections side-by-side on desktop and stacked on mobile:

Text Analysis Panel: A text input box where users can enter text.

Analysis Result Panel: Displays the sentiment analysis result of the entered text.

State Management: Use Redux to manage the state of the input text and the analysis result.

AI Integration (Simulated Azure Cognitive Service): When the user submits text, call a mock sentiment analysis API (details below) to get the sentiment score and display it in the Analysis Result Panel.

Performance:

Debounce the API call so it only triggers 500ms after the user stops typing.

Show a loading indicator while waiting for the API response.

Accessibility:

Ensure all interactive elements are keyboard accessible.

Use semantic HTML and ARIA attributes where appropriate.

API Details (Mock Service): Use the free public API at Text-Processing Sentiment API or simulate it with the following endpoint: POST https://api.example.com/sentiment Body: { "text": "" } Response: { "label": "pos" | "neg" | "neutral", "probability": { "pos": 0.7, "neg": 0.1, "neutral": 0.2 } } Since the above API is deprecated, for the live environment, candidates can mock this API using a simple local function or use a free sentiment API like:

[ParallelDots Sentiment Analysis API (free tier)](https://www.paralleldots.com/text-analysis-apis# sentiment)

Twinword Sentiment Analysis API (free tier)

Note: For the live coding environment, candidates can simulate the API call with a setTimeout and random sentiment result.

Deliverables: React app with Redux store setup.

Material-UI components for layout and styling.

Debounced API call to fetch sentiment.

Display sentiment label and confidence score.

Loading indicator during API call.

Accessibility features as described.

Constraints: Use React (functional components with hooks preferred).

Use Redux (Redux Toolkit preferred for brevity).

Use Material-UI v4 or v5.

No backend development required; API calls can be mocked.

The challenge should be solvable within 30 minutes.

Technologies Relevant to the Challenge React (Hooks, Functional Components)

Redux (Redux Toolkit)

Material-UI (MUI)

JavaScript (ES6+)

REST API integration (mocked)

Accessibility (WCAG basics)

Debouncing (e.g., lodash debounce or custom implementation)

External Resources Material-UI Documentation

Redux Toolkit Documentation

[ParallelDots Sentiment API](https://www.paralleldots.com/text-analysis-apis# sentiment) (optional for real API)

[Lodash debounce](https://lodash.com/docs/4.17.15# debounce) (optional)