0% found this document useful (0 votes)
49 views7 pages

Full Stack Developer Assessment Test

The document provides instructions for a skills assessment test consisting of two questions and a short quiz. [Question 1] assesses front-end skills like HTML, CSS, and Javascript by having candidates replicate a mockup webpage and add an alert function. [Question 2] evaluates back-end skills like object-oriented programming and C# by having candidates build a rock-paper-scissors game between a human player and computer AI. [The short quiz] contains 5 multiple-choice or short-answer questions to test general problem-solving abilities.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
49 views7 pages

Full Stack Developer Assessment Test

The document provides instructions for a skills assessment test consisting of two questions and a short quiz. [Question 1] assesses front-end skills like HTML, CSS, and Javascript by having candidates replicate a mockup webpage and add an alert function. [Question 2] evaluates back-end skills like object-oriented programming and C# by having candidates build a rock-paper-scissors game between a human player and computer AI. [The short quiz] contains 5 multiple-choice or short-answer questions to test general problem-solving abilities.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Assessment

Instructions:
Please read through introduction carefully before starting
test. The test must be completed with end to end testing to
qualify for evaluation.

You are also allowed to use internet for your reference.

You are required to save your work in a new folder on the


desktop and name it as “DD/MM/YYYY – NAME”

Name:

Date:

Page 1 of 7
Introduction

There are total of TWO questions and ONE short quiz in this test. First question is for front-end, second
question is for back-end and third question is a short quiz. All questions and quiz are expected to be
completed but you may want to start with question that you are more comfortable with. In case that you
cannot complete all questions, it is also important to explain during interview what you would have been
done if you are given more time.

Below is the marking scheme and point allocated to Question 1 and 2:

Q1. Front-End (30)


Description Score (Total:30)
How close the HTML is 10
comparing with mockup
Correct text to be alerted in 5
web browser
Quality of codes (HTML, 15
Javascript / JQuery)

Q2. Back-End (70)


Description Score (Total:70)
Understanding of requirements 30
and implementation
Use of Object-Oriented 20
Programming (OOP) (Class,
Inheritance, Encapsulation)
Code quality (Variables, 20
Methods, Code usages, Code
flow)

Q1. Front-End

In this front-end question, the following skills will be assessed:

 HTML
 CSS
 Javascript/JQuery

Tool can be used:

 Visual Studio
 Visual Code

Please refer to below mockup and try to follow it as close as possible. Also it has to be mobile
responsive following wireframe. You are free to use any of frameworks or extensions.
Page 2 of 7
Additionally, please create Javascript function to find title of the event and alert in web browser when link
‘WEBSITE’ is clicked. The function should not be hard coded to alert title but has to be relative to the link
‘WEBSITE’

The final output will be assess via following criteria:

 How close the HTML is comparing with mockup


 Correct text to be alerted in the web browser
 Quality of the codes (HTML, Javascript / JQuery)

Mockup:

Note

Mobile Responsive Wireframe:

Page 3 of 7
Page 4 of 7
Q2. Back-End

In this back-end question, the following skills will be assessed:

 Object Oriented Programming (OOP)


 C# and .NET
 Requirement Understanding
 Class Design
 Code Quality

Tool can be used:12122

 Visual Studio

Create a simple text-based console application with the following requirements.


1. You as a human player will face a computer AI in the mortal game of rock-paper-scissors.
2. At the start of the game, system will ask the player to enter their name.
3. Both the player and the computer will have 3 health points/hit points each.
4. During each turn, the player will first provide an input to choose from one of three available actions.
For example; ‘q’ for rock, ‘w’ for paper and ‘e’ for scissors. (Note: You can also decide to define
the inputs as you see fit in your implementation.) After the player input, the computer will
randomly pick from the three available choices as well. z
5. The result of the turn will then be automatically decided based on their choices:
 Rock will beat the scissors, paper will beat the rock, and scissors beats the paper.
 If the player beats the computer during the turn, the computer will lose 1 health. If the
computer won the turn, the player will lose 1 health.
 If both the player and the computer picked the same choice, the turn will become a tie.
Neither of them will lose health and the game continues to next turn.
6. At the end of every turn, the game has to display the result as output on screen as follows.
 The choices both the player and the computer made
 Whether the player won or lost the current turn
 And the remaining health for both player and computer
7. The game goes on until either the player or the computer lost all 3 health points and dies.

Page 5 of 7
Additional requirements for bonus. (Note: Analyze these requirements carefully before you proceed.)

8. There will be a fourth input option only for the player, to use a magical potion in their possession.
The potion can restore 1 health point if the player choose to drink it during the input phase. If the
player chose to drink the magical health potion, the computer will not take any actions and skips
the current turn.
9. The same magical potion will save the player from death. In other words, if the player is left with
only 1 health point, and the computer just made the winning choice over the player during a turn,
there is a 50% chance that the potion will automatically be used (provided of course that the potion
hasn’t been used throughout the entire game). This is quite similar to the previous requirement,
except this only happens by chance at the end of the turn after the computer made its choice and
the player health is about to reach 0.

Page 6 of 7
Q3. Short Quiz

Please write your answer below each question

1) Some months have 30 days, and some have 31, how may months have 28 days?

Ans: etc…..

2) What number comes next 10, 9, 60, 90, 70 and 66?

3) Which number does not belong to this series 1,1,2,3,4,5,8,13,21?

4) Who will be the shortest among all of them?

a. Roger is as tall as Oliver


b. Binny is shorter than Tony
c. Tony is taller than Oliver
d. Roger is shorter than Binny

5) By using number 7,3,7,3 can you get number 24 by using any mathematical signs (+, – , x, /)?

Page 7 of 7

Common questions

Powered by AI

The gameplay mechanics involve a straightforward turn-based system where players select rock, paper, or scissors, leading to health changes based on the traditional rules. To enhance user experience, developers could introduce a graphical user interface for better visual feedback. Additional elements such as sound effects for different outcomes and animations could also enrich interaction. Further improvements could include difficulty levels where the AI’s strategy adapts, maintaining engagement for a wider range of player skills. Providing insightful statistics at end of games, such as win rates and frequent choice patterns, could engage players more .

Developing a console-based rock-paper-scissors game can present challenges such as managing randomization for AI choice, ensuring fair gameplay, and implementing the additional mechanics like the potion feature. Overcoming these challenges involves understanding random number generation for unbiased AI decision-making. Implementing robust game logic to correctly interpret game rules and update health statuses is critical. Testing edge cases, such as potion use, ensures reliability in gameplay. Programmers should employ debugging and logging to trace errors. Furthermore, utilizing version control systems might help manage code changes effectively during development .

The test assesses a candidate's understanding of requirements and implementation by evaluating the execution of a rock-paper-scissors game based on provided specifications. Understanding is demonstrated by correctly implementing the game mechanics, maintaining health points, and managing turns. Additionally, candidates must incorporate optional features like the magical potion. Properly interpreting these rules and translating them into functional code indicates a solid grasp of requirements and effective design skills. Evaluators look for clarity in expressing these requirements through structured, documented code .

Allowing internet reference during the test acknowledges the real-world programming environment where access to documentation and resources is standard. This affects evaluation by shifting focus from memorization to problem-solving skills, resourcefulness, and practical application of researched information. It tests a candidate's ability to efficiently retrieve relevant data, understand it, and integrate it into their solutions. However, it also challenges evaluators to distinguish between a candidate's own capabilities and their ability to use external sources effectively, necessitating transparent explanation of problem-solving steps .

To achieve the number 24 using the numbers 7, 3, 7, 3 with mathematical operations, one approach could involve the sequence: ((7 * 3) + (7 / 3)). First, multiply 7 by 3 to get 21. Then, divide 7 by 3 to approximate 2.33. Add these two results to achieve approximately 23.33, then round or consider alternate operations that could adjust to reach a clean 24 using integer operations, such as ((7 * 3) - (7 / 3)) adjusted creatively .

The magical potion introduces a strategic layer, allowing players to manage their health resourcefully. It provides players an optional lifeline, potentially turning the tide in a close match. The decision to use this potion involves assessing the current game state and predicting future outcomes, which can increase player engagement through strategic decision-making. The automatic use of the potion when the player is near defeat introduces suspense and variability, adding depth to the game's decision-making process. However, overreliance on or predictability in potion usage could reduce challenge, suggesting a need for balance in its availability .

To ensure the HTML of the front-end application is mobile responsive, developers could utilize CSS media queries to apply different styling rules based on the screen size of the device. Frameworks such as Bootstrap, which offer a grid system, can help create a responsive layout. Additionally, using relative units like percentages for widths and ems for font sizes can ensure that the application scales appropriately on different devices. Testing the design across various devices is essential to validate responsiveness during development .

The key skills assessed in the front-end question include HTML, CSS, and Javascript/JQuery. Performance is evaluated based on three criteria: how closely the HTML matches the mockup (10 points), the correctness of the text to be alerted in the web browser (5 points), and the quality of codes (HTML, Javascript / JQuery) (15 points). The total score for the front-end question is 30 points .

The main requirements for the back-end implementation involve creating a text-based console application where a human player competes against a computer AI in a game of rock-paper-scissors. The game begins by asking the player for their name. Both the player and the computer have three health points each. During each turn, the player chooses an action represented by specific inputs, after which the computer randomly selects its choice. The rules are standard: rock beats scissors, paper beats rock, and scissors beats paper. A turn results in either the computer or the player losing one health point, unless it is a tie. The game continues until one party loses all health points. Additional requirements include implementing a magical potion that can restore health or save the player from defeat by chance .

Using Object-Oriented Programming (OOP) principles such as classes, inheritance, and encapsulation in the back-end application improves code organization, making it easier to maintain and extend. OOP encourages modular design, allowing developers to break down functionalities into manageable pieces which enhances code reuse and reduces redundancy. For instance, using classes for player and computer entities allows each to manage their health and actions independently. Encapsulation ensures that certain details are hidden to protect the internal state from unintended interference, improving robustness .

You might also like