BS Computer Science, National University of Computer and Emerging Sciences, Lahore, Pakistan (2016 – 2020)
Senior Software Engineer @ Netwrix Corporation, USA, Remote (Mar 2020 – Present)
Attribute types measured include cognitive ability, skills, knowledge, personality characteristics, emotional intelligence, and past behavioral history. Note that these results should always be used as a part of a balanced candidate selection process that includes independent evaluation steps, such as interviews and reference checks.
Q1.Please describe a recent .NET project you are proud of. In your
description, briefly explain the project's purpose, its architecture (e.g.,
microservices, monolith), and mention at least three key .NET-related
technologies or libraries you used and why.
I primarily worked on an enterprise product that was recently migrated from
.NET Framework to .NET Core. During the major release, we added multiple
features, one of which was the Scheduling Service within our .NET
application.
The purpose of this service was to handle recurring business actions at
user-specific scheduled times, reducing human intervention and automating
multiple tasks. I built it as a standalone component within our
architecture, keeping it loosely coupled so it could integrate with both
our monolithic setup and a future microservice-oriented design. For
scheduling, I used Quartz.NET, which provided flexible cron-based triggers
and job persistence.
The technologies I leveraged were:
Q2. When building a large and complex Angular application, performance can
be a challenge. Based on your experience, please describe two different
strategies you have used to optimize an Angular application's performance.
In my experience working with Angular, I’ve used a couple of
straightforward strategies to improve performance which are:
Q3. Cassandra data modeling is often described as 'query-driven'. Briefly
explain what this means and describe the difference between a partition key
and a clustering key.
Cassandra is a noSQL database designed for distributed systems. And by
query driven, it means that the schema design is based on queries that our
application uses instead of KeyValuePairs(Elastic NoSQL) or Tables(SQL).
A partition key decides which partition stores the date and groups related
data together in that partition.
A clustering key decides in what order is that data stored for maximum
performance.
Q4. Briefly outline the high-level components of a simple social media
application where users can post short updates, which are then displayed in
a feed. Describe the role that .NET, Angular, and Cassandra would each play
in this system.
A social media application could be structured with the following services:
Backend
Frontend
Angular/React Application: For UI of the application
Database
Cassandra:Stores posts, activity data, relationships