0% found this document useful (0 votes)
91 views34 pages

Kapil Dev's Assessment Report Summary

Assessment og online

Uploaded by

Kapil Dev Saini
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)
91 views34 pages

Kapil Dev's Assessment Report Summary

Assessment og online

Uploaded by

Kapil Dev Saini
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
You are on page 1/ 34

Kapil Dev Saini

Test ID: 432006589000197 7015611204 [email protected]

Test Date: September 14, 2024

Computer Science Logical Ability Computer Programming Quantitative Ability


(Advanced)

67 /100 73 /100 70 /100 80 /100

English Comprehension WriteX - Essay Writing Automata Automata Fix

62 /100 84 /100 100 /100 72 /100

Personality

Completed

Computer Science 67 / 100

OS and Computer Architecture DBMS Computer Networks

82 / 100 22 / 100 84 / 100

Logical Ability 73 / 100

Inductive Reasoning Deductive Reasoning Abductive Reasoning

72 / 100 83 / 100 65 / 100

© 2024 SHL and/or its affiliates. All rights reserved.. 1/34


Computer Programming 70 / 100

Basic Programming Data Structures OOP and Complexity Theory

73 / 100 75 / 100 62 / 100

Quantitative Ability (Advanced) 80 / 100

Basic Mathematics Advanced Mathematics Applied Mathematics

79 / 100 79 / 100 81 / 100

English Comprehension 62 / 100 CEFR: B2

Grammar Vocabulary Comprehension

62 / 100 68 / 100 55 / 100

WriteX - Essay Writing 84 / 100 CEFR: C1

Content Score Grammar Score

89 / 100 70 / 100

Automata 100 / 100

Programming Ability Programming Practices Functional Correctness

100 / 100 100 / 100 100 / 100

Automata Fix 72 / 100

Logical Error Code Reuse Syntactical Error

75 / 100 50 / 100 100 / 100

© 2024 SHL and/or its affiliates. All rights reserved.. 2/34


Personality Completed

100 91
People Interaction

80
66
63
56
60 Self-Drive

40 28
18 Trainability
20

0
Repetitive Job Suitability
Conscientiousness Openness to Experience Polychronicity

Extraversion Agreeableness Emotional Stability

Competencies Work attributes

© 2024 SHL and/or its affiliates. All rights reserved.. 3/34


1 Introduction

About the Report

This report provides a detailed analysis of the candidate's performance on different assessments. The tests for this
job role were decided based on job analysis, O*Net taxonomy mapping and/or criterion validity studies. The
candidate’s responses to these tests help construct a profile that reflects her/his likely performance level and
achievement potential in the job role

This report has the following sections:

The Summary section provides an overall snapshot of the candidate’s performance. It includes a graphical
representation of the test scores and the subsection scores.

The Insights section provides detailed feedback on the candidate’s performance in each of the tests. The descriptive
feedback includes the competency definitions, the topics covered in the test, and a note on the level of the
candidate’s performance.

The Response section captures the response provided by the candidate. This section includes only those tests that
require a subjective input from the candidate and are scored based on artificial intelligence and machine learning.

The Learning Resources section provides online and offline resources to improve the candidate's knowledge, abilities,
and skills in the different areas on which s/he was evaluated.

Score Interpretation

All the test scores are on a scale of 0-100. All the tests except personality and behavioural evaluation provide
absolute scores. The personality and behavioural tests provide a norm-referenced score and hence, are percentile
scores. Throughout the report, the colour codes used are as follows:

Scores between 67 and 100

Scores between 33 and 67

Scores between 0 and 33

© 2024 SHL and/or its affiliates. All rights reserved.. 4/34


2 Insights

English Comprehension 62 / 100 CEFR: B2

This test aims to measure your vocabulary, grammar and reading comprehension skills.

You have a good understanding of commonly used grammatical constructs. You are able to read and understand
articles, reports and letters/mails related to your day-to-day work. The ability to read, understand and interpret
business-related documents is essential in most jobs, especially the ones that involve research, technical reading and
content writing.

Logical Ability 73 / 100

Inductive Reasoning 72 / 100

This competency aims to measure the your ability to synthesize information and derive conclusions.

It is commendable that you have excellent inductive reasoning skills. You are able to make specific
observations to generalize situations and also formulate new generic rules from variable data.

Deductive Reasoning 83 / 100

This competency aims to measure the your ability to synthesize information and derive conclusions.

It is commendable that you have excellent inductive reasoning skills. You are able to make specific
observations to generalize situations and also formulate new generic rules from variable data.

Abductive Reasoning 65 / 100

Quantitative Ability (Advanced) 80 / 100

This test aims to measure your ability to solve problems on basic arithmetic operations, probability, permutations and
combinations, and other advanced concepts.

It is commendable that you are able to understand and solve complex arithmetic problems. You are able to solve
basic problems of probability, logarithms, permutations, and combinations. This skill will help you in jobs where one
needs to work with statistical data and make probabilistic predictions.

Personality

© 2024 SHL and/or its affiliates. All rights reserved.. 5/34


Competencies

66

Extraversion
Reserved Sociable

Extraversion refers to a person's inclination to prefer social interaction over spending time alone.
Individuals with high levels of extraversion are perceived to be outgoing, warm and socially confident.

• You are comfortable socializing to a certain extent. You prefer small gatherings in familiar
environments.
• You feel at ease interacting with your close friends but may be reserved among strangers.
• You indulge in activities involving thrill and excitement that are not too risky.
• You contemplate the consequences before expressing any opinion or taking an action.
• You take charge when the situation calls for it and you are comfortable following instructions as
well.
• Your personality may be suitable for jobs demanding flexibility in terms of working well with a
team as well as individually.

56

Conscientiousness
Spontaneous Diligent

Conscientiousness is the tendency to be organized, hard working and responsible in one's approach to
your work. Individuals with high levels of this personality trait are more likely to be ambitious and
tend to be goal-oriented and focused.

• You are flexible and able to adapt your work pace to the job at hand.
• You are usually spontaneous but you are likely to stick to a plan whenever necessary.
• You tend to be cautious when you deem it necessary.
• You may prefer to act according to the rules.
• You are confident in your ability to achieve goals but may need support to overcome occasional
setbacks.
• You are an efficient worker and try to perform better than your peers. You are well suited for
jobs allowing flexibility regarding operating procedures.

63

Agreeableness

Competitive Cooperative

Agreeableness refers to an individual's tendency to be cooperative with others and it defines your
approach to interpersonal relationships. People with high levels of this personality trait tend to be
more considerate of people around them and are more likely to work effectively in a team.

• You are flexible regarding your opinions and be willing to accommodate the needs of others.
• You are generally considerate of the needs of others yet may, at times, overlook social norms to
achieve personal success.
• You are selective about the people you choose to trust.
• You are caring and you empathise a friend in distress.

© 2024 SHL and/or its affiliates. All rights reserved.. 6/34


• You give credit to others but also tends to be open with your friends about personal
achievements.
• You are more inclined to strike a compromise in tough situations and may be suitable for jobs
that demand managing expectations among different stakeholders.

28

Openness to Experience
Conventional Inquisitive

Openness to experience refers to a person's inclination to explore beyond conventional boundaries in


different aspects of life. Individuals with high levels of this personality trait tend to be more curious,
creative and innovative in nature.

• You may not be very open to new experiences lying outside your comfort zone and tends to
prefer routine over variety.
• You may be pragmatic and is likely to be conventional in your outlook and actions and may not
pursue an experimental approach to problem-solving.
• You may not have an appreciation for art.
• You do not like to express your emotions and feelings to others.
• You tend to demonstrate concrete thinking with a focus on practical solutions, as opposed to
abstract ideas.
• Your personality is more suited to job roles that require logical and rational thinking.

91

Emotional Stability
Sensitive Resilient

Emotional stability refers to the ability to withstand stress, handle adversity, and remain calm and
composed when working through challenging situations. People with high levels of this personality trait
tend to be more in control of their emotions and are likely to perform consistently despite difficult or
unfavourable conditions.

• You are calm and composed in nature.


• You tend to maintain composure during high pressure situations.
• You are very confident and comfortable being yourself.
• You find it easy to resist temptations and practice moderation.
• You are likely to remain emotionally stable in jobs with high stress levels.

18

Polychronicity
Focused Multitasking

Polychronicity refers to a person's inclination to multitask. It is the extent to which the person prefers
to engage in more than one task at a time and believes that such an approach is highly productive.
While this trait describes the personality disposition of a person to multitask, it does not gauge their
ability to do so successfully.

• You prefer to work on one task at a time, complete it and then move on to the next.
• You prefer orderliness and likes to concentrate on the task at hand without any distractions.

© 2024 SHL and/or its affiliates. All rights reserved.. 7/34


• You can find it difficult to be placed in a work environment where there is a need to multitask or
where expected to engage in multiple projects simultaneously.

© 2024 SHL and/or its affiliates. All rights reserved.. 8/34


3 Response

Automata Fix 72 / 100 Code Replay

Question 1 (Language: C++)

The function/method removeElement prints space separated integers that remains after removing the integer at the
given index from the input list.

The function/method removeElement accepts three arguments - size, an integer representing the size of the input list,
indexValue, an integer representing given index and inputList, a list of integers representing the input list.

The function/method removeElement compiles successfully but fails to print the desired result for some test cases due
to incorrect implementation of the function/method removeElement. Your task is to fix the code so that it passes all
the test cases.

Note:
Zero-based indexing is followed to access list elements.

Scores

Final Code Submitted Compilation Status: Pass Code Analysis

1 // You can print the values to stdout for debugging Average-case Time Complexity
2 using namespace std;
3 void removeElement(int size, int indexValue, int *inputList)
4{ Candidate code: Complexity is reported only when the code
is correct and it passes all the basic and advanced test
5 int i,j; cases.
6 if(indexValue<size)
7 { Best case code:

8 for(i=indexValue;i<=size-2;i++)
9 { *N represents

10 inputList[i]=inputList[i++];
11 } Errors/Warnings
12 for(i=0;i<size-1;i++)
13 cout<<inputList[i]<<" "; There are no errors in the candidate's code.

14 }
15 else Structural Vulnerabilites and Errors

16 { There are no errors in the candidate's code.


17 for(i=0;i<size;i++)
18 cout<<inputList[i]<<" ";
19 }
20 }
21

© 2024 SHL and/or its affiliates. All rights reserved.. 9/34


Test Case Execution Passed TC: 62.5%

Total score
40% 100% 100%
5/8 Basic(2/5) Advance(2/2) Edge(1/1)

Compilation Statistics

4 4 0 4 0 0

Total attempts Successful Compilation errors Sample failed Timed out Runtime errors

Response time: 00:03:40

Average time taken between two compile attempts: 00:00:55

Average test case pass percentage per compile: 12.5%

Average-case Time Complexity

Average Case Time Complexity is the order of performance of the algorithm given a random set of inputs. This complexity is measured
here using the Big-O asymptotic notation. This is the complexity detected by empirically fitting a curve to the run-time for different input
sizes to the given code. It has been benchmarked across problems.

Test Case Execution

There are three types of test-cases for every coding problem:

Basic: The basic test-cases demonstrate the primary logic of the problem. They include the most common and obvious cases that an
average candidate would consider while coding. They do not include those cases that need extra checks to be placed in the logic.

Advanced: The advanced test-cases contain pathological input conditions that would attempt to break the codes which have
incorrect/semi-correct implementations of the correct logic or incorrect/semi-correct formulation of the logic.

Edge: The edge test-cases specifically confirm whether the code runs successfully even under extreme conditions of the domain of
inputs and that all possible cases are covered by the code

Question 2 (Language: C++)

You are given predefined structure Time containing hour, minute, and second as members. A collection of
functions/methods for performing some common operations on times is also available. You must make use of these
functions/methods to calculate and return the difference.

The function/method difference_in_times accepts two arguments - time1, and time2, representing two times and is
supposed to return an integer representing the difference in the number of seconds.

© 2024 SHL and/or its affiliates. All rights reserved.. 10/34


You must complete the code so that it passes all the test cases.

Helper Description

The following class is used to represent the time and is already implemented in the default code (Do not write this
definition again in your code):

class Time

int hour;

int minute;

int second;

int Time :: Time_compareTo( Time* time2)

/*Return 1, if time1 is greater than time2.

Return -1 if time1 is less than time2

or, Return 0, if time1 is equal to time2

This can be called as -

* If time1 and time2 are two Time then -

* time1.compareTo(time2) */

void Time :: Time_addSecond()

/* Add one second in the time;

This can be called as -

* If time1 is Time then -

* time1.addSecond() */

Scores

Final Code Submitted Compilation Status: Fail Code Analysis

© 2024 SHL and/or its affiliates. All rights reserved.. 11/34


1 // You can print the values to stdout for debugging Average-case Time Complexity
2 using namespace std;
3 int difference_in_times(Time *time1, Time *time2)
4{ Candidate code: Complexity is reported only when the code
is correct and it passes all the basic and advanced test
5 int flag=time1.compareTo(time2); cases.
6 int t1=time1->hour*3600+time1->minute*60+time1->second;
7 int t2=time2->hour*3600+time2->minute*60+time2->second; Best case code:

8
9 if(flag==1) *N represents

10 return t1-t2;
11 else Errors/Warnings
12 return t2-t1;
13
14 In file included from main_24.cpp:8:

15 } source_24.cpp: In function 'int


difference_in_times(Time*, Time*)':
16 source_24.cpp:5:20: error: request for member
'compareTo' in 'time1', which is of pointer type 'Time*'
(maybe you meant to use '->' ?)
int flag=time1.compareTo(time2);
^~~~~~~~~
source_24.cpp:6:19: error: 'int Time::hour' is private
within this context
int t1=time1->hour*3600+time1->minute*60+time1-
>second;
^~~~
In file included from main_24.cpp:7:
ds_debugging_24.cpp:9:7: note: declared private here
int hour;
^~~~
In file included from main_24.cpp:8:
source_24.cpp:6:19: note: field 'int Time::hour' can
be accessed via 'int Time::Time_Return_hour()'
int t1=time1->hour*3600+time1->minute*60+time1-
>second;
^~~~
Time_Return_hour()
source_24.cpp:6:36: error: 'int Time::minute' is
private within this context
int t1=time1->hour*3600+time1->minute*60+time1-
>second;
^~~~~~
In file included from main_24.cpp:7:
ds_debugging_24.cpp:10:7: note: declared private
here
int minute;
^~~~~~
In file included from main_24.cpp:8:
source_24.cpp:6:36: note: field 'int Time::minute' can
be accessed via 'int Time::Time_Return_minute()'
int t1=time1->hour*3600+time1->minute*60+time1-
>second;
^~~~~~
Time_Return_minute()
source_24.cpp:6:53: error: 'int Time::second' is

© 2024 SHL and/or its affiliates. All rights reserved.. 12/34


private within this context
int t1=time1->hour*3600+time1->minute*60+time1-
>second;
^~~~~~
In file included from main_24.cpp:7:
ds_debugging_24.cpp:11:7: note: declared private
here
int second;
^~~~~~
In file included from main_24.cpp:8:
source_24.cpp:6:53: note: field 'int Time::second' can
be accessed via 'int Time::Time_Return_second()'
int t1=time1->hour*3600+time1->minute*60+time1-
>second;
^~~~~~
Time_Return_second()
source_24.cpp:7:19: error: 'int Time::hour' is private
within this context
int t2=time2->hour*3600+time2->minute*60+time2-
>second;
^~~~
In file included from main_24.cpp:7:
ds_debugging_24.cpp:9:7: note: declared private here
int hour;
^~~~
In file included from main_24.cpp:8:
source_24.cpp:7:19: note: field 'int Time::hour' can
be accessed via 'int Time::Time_Return_hour()'
int t2=time2->hour*3600+time2->minute*60+time2-
>second;
^~~~
Time_Return_hour()
source_24.cpp:7:36: error: 'int Time::minute' is
private within this context
int t2=time2->hour*3600+time2->minute*60+time2-
>second;
^~~~~~
In file included from main_24.cpp:7:
ds_debugging_24.cpp:10:7: note: declared private
here
int minute;
^~~~~~
In file included from main_24.cpp:8:
source_24.cpp:7:36: note: field 'int Time::minute' can
be accessed via 'int Time::Time_Return_minute()'
int t2=time2->hour*3600+time2->minute*60+time2-
>second;
^~~~~~
Time_Return_minute()
source_24.cpp:7:53: error: 'int Time::second' is
private within this context
int t2=time2->hour*3600+time2->minute*60+time2-
>second;
^~~~~~
In file included from main_24.cpp:7:
ds_debugging_24.cpp:11:7: note: declared private

© 2024 SHL and/or its affiliates. All rights reserved.. 13/34


here
int second;
^~~~~~
In file included from main_24.cpp:8:
source_24.cpp:7:53: note: field 'int Time::second' can
be accessed via 'int Time::Time_Return_second()'
int t2=time2->hour*3600+time2->minute*60+time2-
>second;
^~~~~~
Time_Return_second()

Structural Vulnerabilites and Errors

There are no errors in the candidate's code.

Compilation Statistics

2 0 2 0 0 0

Total attempts Successful Compilation errors Sample failed Timed out Runtime errors

Response time: 00:05:23

Average time taken between two compile attempts: 00:02:42

Average test case pass percentage per compile: 0%

Average-case Time Complexity

Average Case Time Complexity is the order of performance of the algorithm given a random set of inputs. This complexity is measured
here using the Big-O asymptotic notation. This is the complexity detected by empirically fitting a curve to the run-time for different input
sizes to the given code. It has been benchmarked across problems.

Test Case Execution

There are three types of test-cases for every coding problem:

Basic: The basic test-cases demonstrate the primary logic of the problem. They include the most common and obvious cases that an
average candidate would consider while coding. They do not include those cases that need extra checks to be placed in the logic.

Advanced: The advanced test-cases contain pathological input conditions that would attempt to break the codes which have
incorrect/semi-correct implementations of the correct logic or incorrect/semi-correct formulation of the logic.

Edge: The edge test-cases specifically confirm whether the code runs successfully even under extreme conditions of the domain of
inputs and that all possible cases are covered by the code

Question 3 (Language: C++)

The function/method countElement returns the number of elements in the input list arr which are greater than twice

© 2024 SHL and/or its affiliates. All rights reserved.. 14/34


the input number K. The function/method countElement accepts three arguments - size, an integer representing the
size of the input list, numK, an integer representing the input number K and inputList, a list of integers.

The function/method compiles unsuccessfully due to syntactical error. Your task is to fix the code so that it passes all
the test cases.

Scores

Final Code Submitted Compilation Status: Pass Code Analysis

1 // You can print the values to stdout for debugging Average-case Time Complexity
2 using namespace std;
3 int countElement(int size, int numK, int *inputList)
4{ Candidate code: Complexity is reported only when the code
is correct and it passes all the basic and advanced test
5 int i,cou_nt=0; cases.
6 for(i=0;i<size;i++)
7 { Best case code:

8 if(inputList[i]>2*numK)
9 cou_nt+=1;
*N represents

10 }
11 return cou_nt; Errors/Warnings
12 } There are no errors in the candidate's code.

Structural Vulnerabilites and Errors

There are no errors in the candidate's code.

Test Case Execution Passed TC: 100%

Total score
100% 100% 100%
10/10 Basic(6/6) Advance(3/3) Edge(1/1)

Compilation Statistics

2 1 1 0 0 0

Total attempts Successful Compilation errors Sample failed Timed out Runtime errors

Response time: 00:01:20

Average time taken between two compile attempts: 00:00:40

Average test case pass percentage per compile: 50%

© 2024 SHL and/or its affiliates. All rights reserved.. 15/34


Average-case Time Complexity

Average Case Time Complexity is the order of performance of the algorithm given a random set of inputs. This complexity is measured
here using the Big-O asymptotic notation. This is the complexity detected by empirically fitting a curve to the run-time for different input
sizes to the given code. It has been benchmarked across problems.

Test Case Execution

There are three types of test-cases for every coding problem:

Basic: The basic test-cases demonstrate the primary logic of the problem. They include the most common and obvious cases that an
average candidate would consider while coding. They do not include those cases that need extra checks to be placed in the logic.

Advanced: The advanced test-cases contain pathological input conditions that would attempt to break the codes which have
incorrect/semi-correct implementations of the correct logic or incorrect/semi-correct formulation of the logic.

Edge: The edge test-cases specifically confirm whether the code runs successfully even under extreme conditions of the domain of
inputs and that all possible cases are covered by the code

Question 4 (Language: C++)

The function/method arrayReverse modify the input list by reversing its element
The function/method arrayReverse accepts two arguments - len, an integer representing the length of the
list and arr, list of integers representing the input list, respectively.

For example, if the input list arr is {20 30 10 40 50}, the function/method is supposed to print {50 40 10 30 20}.

The function/method arrayReverse compiles successfully but fails to get the desired result for some test cases due to
logical errors. Your task is to fix the code so that it passes all the test cases.

Scores

Final Code Submitted Compilation Status: Pass Code Analysis

1 // You can print the values to stdout for debugging Average-case Time Complexity
2 void arrayReverse(int len, int* arr)
3{
4 int i, temp, originalLen=len; Candidate code: Complexity is reported only when the code
is correct and it passes all the basic and advanced test
5 for(i=0;i<originalLen/2;i++) cases.
6 {
7 temp = arr[len-1]; Best case code:

8 arr[len-1] = arr[i];
9 arr[i] = temp; *N represents

10 len -= 1;
11 } Errors/Warnings
12 }
© 2024 SHL and/or its affiliates. All rights reserved.. 16/34
There are no errors in the candidate's code.

Structural Vulnerabilites and Errors

There are no errors in the candidate's code.

Test Case Execution Passed TC: 100%

Total score
100% 100% 0%
8/8 Basic(6/6) Advance(2/2) Edge(0/0)

Compilation Statistics

1 1 0 0 0 0

Total attempts Successful Compilation errors Sample failed Timed out Runtime errors

Response time: 00:01:11

Average time taken between two compile attempts: 00:01:11

Average test case pass percentage per compile: 100%

Average-case Time Complexity

Average Case Time Complexity is the order of performance of the algorithm given a random set of inputs. This complexity is measured
here using the Big-O asymptotic notation. This is the complexity detected by empirically fitting a curve to the run-time for different input
sizes to the given code. It has been benchmarked across problems.

Test Case Execution

There are three types of test-cases for every coding problem:

Basic: The basic test-cases demonstrate the primary logic of the problem. They include the most common and obvious cases that an
average candidate would consider while coding. They do not include those cases that need extra checks to be placed in the logic.

Advanced: The advanced test-cases contain pathological input conditions that would attempt to break the codes which have
incorrect/semi-correct implementations of the correct logic or incorrect/semi-correct formulation of the logic.

Edge: The edge test-cases specifically confirm whether the code runs successfully even under extreme conditions of the domain of
inputs and that all possible cases are covered by the code

Question 5 (Language: C++)

The function/method countDigits return an integer representing the remainder when the given number is divided by
the number of digits in it.

© 2024 SHL and/or its affiliates. All rights reserved.. 17/34


g
The function/methodcountDigits accepts an argument - num, an integer representing the given number.

The function/method countDigits compiles successfully but fails to print the desired result for some test cases due to
logical errors. Your task is to fix the code so that it passes all the test cases.

Scores

Final Code Submitted Compilation Status: Pass Code Analysis

1 // You can print the values to stdout for debugging Average-case Time Complexity
2 using namespace std;
3 int countDigits(int num)
4{ Candidate code: Complexity is reported only when the code
is correct and it passes all the basic and advanced test
5 int n=num; cases.
6 int count =0;
7 while(num!=0){ Best case code:

8 num=num/10;
9 count++; *N represents

10 }
11 return (n%count); Errors/Warnings
12 }
13 There are no errors in the candidate's code.

14 Structural Vulnerabilites and Errors

There are no errors in the candidate's code.

Test Case Execution Passed TC: 100%

Total score
100% 100% 0%
8/8 Basic(6/6) Advance(2/2) Edge(0/0)

Compilation Statistics

5 5 0 4 0 0

Total attempts Successful Compilation errors Sample failed Timed out Runtime errors

Response time: 00:02:54

Average time taken between two compile attempts: 00:00:35

Average test case pass percentage per compile: 25%

© 2024 SHL and/or its affiliates. All rights reserved.. 18/34


Average-case Time Complexity

Average Case Time Complexity is the order of performance of the algorithm given a random set of inputs. This complexity is measured
here using the Big-O asymptotic notation. This is the complexity detected by empirically fitting a curve to the run-time for different input
sizes to the given code. It has been benchmarked across problems.

Test Case Execution

There are three types of test-cases for every coding problem:

Basic: The basic test-cases demonstrate the primary logic of the problem. They include the most common and obvious cases that an
average candidate would consider while coding. They do not include those cases that need extra checks to be placed in the logic.

Advanced: The advanced test-cases contain pathological input conditions that would attempt to break the codes which have
incorrect/semi-correct implementations of the correct logic or incorrect/semi-correct formulation of the logic.

Edge: The edge test-cases specifically confirm whether the code runs successfully even under extreme conditions of the domain of
inputs and that all possible cases are covered by the code

Question 6 (Language: C++)

The function/method findMaxElement return an integer representing the largest element in the given two input lists.
The function/method findMaxElement accepts four arguments - len1, an integer representing the length of the first
list, arr1, a list of integers representing the first input list, len2, an integer representing the length of the second input
list and arr2, a list of integers representing the second input list, respectively.

Another function/method sortArray accepts two arguments - len, an integer representing the length of the list and arr,
a list of integers, respectively and return a list sorted ascending order.

Your task is to use the function/method sortArray to complete the code in findMaxElement so that it passes all the test
cases.

Scores

Final Code Submitted Compilation Status: Pass Code Analysis

1 // You can print the values to stdout for debugging Average-case Time Complexity
2 using namespace std;
3 int* sortArray(int len, int* arr)
4{ Candidate code: Complexity is reported only when the code
is correct and it passes all the basic and advanced test
5 int i=0,j=0,temp=0; cases.
6 for(i=0;i<len;i++)
7 { Best case code:

8 for(j=i+1;j<len;j++)
9 { *N represents

© 2024 SHL and/or its affiliates. All rights reserved.. 19/34


10 if(arr[i]>arr[j])
11 { Errors/Warnings

12 temp = arr[i];
13 arr[i] = arr[j]; There are no errors in the candidate's code.

14 arr[j] = temp; Structural Vulnerabilites and Errors


15 }
16 } There are no errors in the candidate's code.
17 }
18 return arr;
19 }
20
21 int findMaxElement(int len1, int* arr1, int len2, int* arr2)
22 {
23 sortArray(len1,arr1);
24 sortArray(len2,arr2);
25 return arr1[len1-1]>arr2[len2-1]?arr1[len1-1]:arr2[len2-1];
26 }
27
Test Case Execution Passed TC: 100%

Total score
100% 100% 0%
8/8 Basic(2/2) Advance(6/6) Edge(0/0)

Compilation Statistics

1 1 0 0 0 0

Total attempts Successful Compilation errors Sample failed Timed out Runtime errors

Response time: 00:04:11

Average time taken between two compile attempts: 00:04:11

Average test case pass percentage per compile: 100%

© 2024 SHL and/or its affiliates. All rights reserved.. 20/34


Average-case Time Complexity

Average Case Time Complexity is the order of performance of the algorithm given a random set of inputs. This complexity is measured
here using the Big-O asymptotic notation. This is the complexity detected by empirically fitting a curve to the run-time for different input
sizes to the given code. It has been benchmarked across problems.

Test Case Execution

There are three types of test-cases for every coding problem:

Basic: The basic test-cases demonstrate the primary logic of the problem. They include the most common and obvious cases that an
average candidate would consider while coding. They do not include those cases that need extra checks to be placed in the logic.

Advanced: The advanced test-cases contain pathological input conditions that would attempt to break the codes which have
incorrect/semi-correct implementations of the correct logic or incorrect/semi-correct formulation of the logic.

Edge: The edge test-cases specifically confirm whether the code runs successfully even under extreme conditions of the domain of
inputs and that all possible cases are covered by the code

Question 7 (Language: C++)

The function/method printCharacterPattern accepts an integer num. It is supposed to print the first num (0 ≤ num ≤
26 ) lines of the pattern as shown below.

For example, if num = 4, the pattern is:


a
ab
abc
abcd

The function/method compiles successfully but fails to print the desired result for some test cases due to logical errors.
Your task is to fix the code so that it passes all the test cases.

Scores

Final Code Submitted Compilation Status: Pass Code Analysis

1 // You can print the values to stdout for debugging Average-case Time Complexity
2 using namespace std;
3 void printCharacterPattern(int num){
4 int i, j; Candidate code: Complexity is reported only when the code
is correct and it passes all the basic and advanced test
5 char ch='a'; cases.
6 char print;
7 for(i=0;i<num;i++){ Best case code:

8 print = ch;
9 for(j=0;j<=i;j++) *N represents

10 cout<<(print++);
© 2024 SHL and/or its affiliates. All rights reserved.. 21/34
11 cout<<"\n"; Errors/Warnings
12 }
13 } There are no errors in the candidate's code.
14
Structural Vulnerabilites and Errors

There are no errors in the candidate's code.

Test Case Execution Passed TC: 100%

Total score
100% 100% 100%
8/8 Basic(3/3) Advance(4/4) Edge(1/1)

Compilation Statistics

2 2 0 1 0 0

Total attempts Successful Compilation errors Sample failed Timed out Runtime errors

Response time: 00:01:12

Average time taken between two compile attempts: 00:00:36

Average test case pass percentage per compile: 56.3%

Average-case Time Complexity

Average Case Time Complexity is the order of performance of the algorithm given a random set of inputs. This complexity is measured
here using the Big-O asymptotic notation. This is the complexity detected by empirically fitting a curve to the run-time for different input
sizes to the given code. It has been benchmarked across problems.

Test Case Execution

There are three types of test-cases for every coding problem:

Basic: The basic test-cases demonstrate the primary logic of the problem. They include the most common and obvious cases that an
average candidate would consider while coding. They do not include those cases that need extra checks to be placed in the logic.

Advanced: The advanced test-cases contain pathological input conditions that would attempt to break the codes which have
incorrect/semi-correct implementations of the correct logic or incorrect/semi-correct formulation of the logic.

Edge: The edge test-cases specifically confirm whether the code runs successfully even under extreme conditions of the domain of
inputs and that all possible cases are covered by the code

Automata 100 / 100 Code Replay

© 2024 SHL and/or its affiliates. All rights reserved.. 22/34


Question 1 (Language: C++14)

An e-commerce company is planning to give a special discount on all its products to its customers for the holiday. The
company possesses data on its stock of N product types. The data for each product type represents the count of
customers who have ordered the given product. If the data K is positive then the product has been ordered by K
customers and is in stock. If the data K is negative then the product has been ordered by K customers but is not in
stock. The company will fulfill the order directly if the ordered product is in stock. If it is not in stock then the company
will fulfill the order after they replenish the stock from the warehouse. They are planning to offer a discount amount A
for each product. The discount value will be distributed to the customers who have purchased that selected product.
The discount will be distributed only if the discount amount A can be divided by the number of orders for a particular
product.

Write an algorithm for the sales team to find the number of products out of N for which the discount will be
distributed.

Scores

Programming Ability Programming Practices

100 / 100 100 / 100


Completely correct. A correct implementation of the problem High readability, high on program structure. The source code is
using the right control-structures and data dependencies. readable and does not consist of any significant
redundant/improper coding constructs.

Functional Correctness

100 / 100
Functionally correct source code. Passes all the test cases in the
test suite for a given problem.

Final Code Submitted Compilation Status: Pass Code Analysis

1 // Header Files Average-case Time Complexity


2 #include<iostream>
3 #include<string>
4 #include<vector> Candidate code: O(N)

5 using namespace std; Best case code: O(N)


6
7 *N represents number of different types of products.

8 /*
9* Errors/Warnings
10 */
11 int noOfProducts (vector<int> order, int disAmount) There are no errors in the candidate's code.
12 {
13 int answer=0; Structural Vulnerabilites and Errors

14
15 for(auto x: order) There are no errors in the candidate's code.

16 {
© 2024 SHL and/or its affiliates. All rights reserved.. 23/34
17 if(x>0 && disAmount%x==0){
18 answer++;
19 }
20 }
21
22
23
24 return answer;
25 }
26
27 int main()
28 {
29
30 //input for order
31 int order_size;
32 cin >> order_size;
33 vector<int> order;
34 for ( int idx = 0; idx < order_size; idx++ )
35 {
36 int temp;
37 cin >> temp;
38 order.push_back(temp);
39 }
40 //input for disAmount
41 int disAmount;
42 cin >> disAmount;
43
44
45 int result = noOfProducts(order, disAmount);
46 cout << result;
47
48
49 return 0;
50 }
51
Test Case Execution Passed TC: 100%

Total score
100% 100% 100%
11/11 Basic(6/6) Advance(2/2) Edge(3/3)

© 2024 SHL and/or its affiliates. All rights reserved.. 24/34


Compilation Statistics

1 1 0 0 0 0

Total attempts Successful Compilation errors Sample failed Timed out Runtime errors

Response time: 00:05:46

Average time taken between two compile attempts: 00:05:46

Average test case pass percentage per compile: 100%

Average-case Time Complexity

Average Case Time Complexity is the order of performance of the algorithm given a random set of inputs. This complexity is measured
here using the Big-O asymptotic notation. This is the complexity detected by empirically fitting a curve to the run-time for different input
sizes to the given code. It has been benchmarked across problems.

Test Case Execution

There are three types of test-cases for every coding problem:

Basic: The basic test-cases demonstrate the primary logic of the problem. They include the most common and obvious cases that an
average candidate would consider while coding. They do not include those cases that need extra checks to be placed in the logic.

Advanced: The advanced test-cases contain pathological input conditions that would attempt to break the codes which have
incorrect/semi-correct implementations of the correct logic or incorrect/semi-correct formulation of the logic.

Edge: The edge test-cases specifically confirm whether the code runs successfully even under extreme conditions of the domain of
inputs and that all possible cases are covered by the code

Question 2 (Language: C++14)

You are given a list of integers and an integer K. Write an algorithm to find the number of elements in the list that are
strictly less than K.

© 2024 SHL and/or its affiliates. All rights reserved.. 25/34


Scores

Programming Ability Programming Practices

100 / 100 100 / 100


Completely correct. A correct implementation of the problem High readability, high on program structure. The source code is
using the right control-structures and data dependencies. readable and does not consist of any significant
redundant/improper coding constructs.

Functional Correctness

100 / 100
Functionally correct source code. Passes all the test cases in the
test suite for a given problem.

Final Code Submitted Compilation Status: Pass Code Analysis

1 // Header Files Average-case Time Complexity


2 #include<iostream>
3 #include<string>
4 #include<vector> Candidate code: O(N)

5 using namespace std; Best case code: O(N)


6
7 *N represents number of elements in the input list

8 /*
9 * element, representing the vector with size of element_size. Errors/Warnings
10 * num, representing the integer to be compared(K).
11 */ There are no errors in the candidate's code.
12 int noOfElement (vector<int> element, int num)
13 { Structural Vulnerabilites and Errors

14 int answer=0;
15 There are no errors in the candidate's code.

16 for(auto x: element)
17 {
18 if(x<num){
19 answer++;
20 }
21 }
22
23
24 return answer;
25 }
26
27 int main()
28 {
29
30 //input for element
31 int element_size;
32 cin >> element_size;
© 2024 SHL and/or its affiliates. All rights reserved.. 26/34
33 vector<int> element;
34 for ( int idx = 0; idx < element_size; idx++ )
35 {
36 int temp;
37 cin >> temp;
38 element.push_back(temp);
39 }
40 //input for num
41 int num;
42 cin >> num;
43
44
45 int result = noOfElement(element, num);
46 cout << result;
47
48
49 return 0;
50 }
51
Test Case Execution Passed TC: 100%

Total score
100% 100% 100%
16/16 Basic(6/6) Advance(8/8) Edge(2/2)

Compilation Statistics

5 5 0 0 0 0

Total attempts Successful Compilation errors Sample failed Timed out Runtime errors

Response time: 00:03:11

Average time taken between two compile attempts: 00:00:38

Average test case pass percentage per compile: 20%

© 2024 SHL and/or its affiliates. All rights reserved.. 27/34


Average-case Time Complexity

Average Case Time Complexity is the order of performance of the algorithm given a random set of inputs. This complexity is measured
here using the Big-O asymptotic notation. This is the complexity detected by empirically fitting a curve to the run-time for different input
sizes to the given code. It has been benchmarked across problems.

Test Case Execution

There are three types of test-cases for every coding problem:

Basic: The basic test-cases demonstrate the primary logic of the problem. They include the most common and obvious cases that an
average candidate would consider while coding. They do not include those cases that need extra checks to be placed in the logic.

Advanced: The advanced test-cases contain pathological input conditions that would attempt to break the codes which have
incorrect/semi-correct implementations of the correct logic or incorrect/semi-correct formulation of the logic.

Edge: The edge test-cases specifically confirm whether the code runs successfully even under extreme conditions of the domain of
inputs and that all possible cases are covered by the code

WriteX - Essay Writing 84 / 100 CEFR: C1

Question

The use of messaging apps like WhatsApp/WeChat have bridged the communication gap between people living far
apart.
Do you agree or disagree? In your view, how have these apps transformed relationships? Substantiate your
response with reasons and suitable examples.

Scores

Content Score Grammar Score

89 / 100 70 / 100

Response Error Summary

living in a time whe ntechnology makes most things easier, whatsapp has cleary revolu
Spelling 30
tiozed communication,especially for people who live far away from one another. Since i
t was founded in 2009(whatapp) , whatsapp has proved to be one of the essential tools
for keeping in close contact personally and professionally across the globe. It became v White Space 8
ery user-friendly and bridged a long-standing communication gap among individuals an
d businesses due to its text messaging, voice calls, video calls, and multimedia sharing
Style 0
features. traditionally, communication at a distance was complicated and expensive. Ap
art from postal servies, there were some very expensive . apart from postal services, t
ehrer were some very expensive international calls. Whatapp has completely changed t Grammar 16
his with methods of free and instant communciation . A person can send and reveive m
essages,photos, and videos, and make voice and video calls today without any huge co
sts, no matter which part of the world one lives in. Connectivity has become considera

© 2024 SHL and/or its affiliates. All rights reserved.. 28/34


bly easier than ever before, and it is no longer limited. whatapp has become such an i Typographical 6
mportant part of personal relations. Thus the families separted by distance can easily b
e in touch and share life events as it allows for real-time communication. Parents can s
ee milestones the children reach through shared videos. Frineds can keep up the bonds
of frinedship even when they live at diffrerent parts of the world group chatting in thhe
application further promotes colletive interaction among frineds and family members o
ver a common virtual space whatsapp has also facilitated communication at a professio
nal leve. with teleworking for example teams, operating at a professional level. with tel
elworking for example teas operating in different time zones can communcate fluidly, s
hare documents ,and even discuss issues in real time. This has made sure not only tha
t productivity witll be increased but also that firms are alble to operate regardless of di
stance. For small businesses and entreprenurs, whatsapp offers an oppurtunity to provi
de customer support and interact direclty with clients, thus building better business rea
ltionship. besides, whatsapp praticipates in cultural and social processes: it allows cultu
ral exchange and worldly and social processes it allows cultural exchange and wrldly op
ennness due to the ability to connect people from different parts of the wrold. The appl
ication also nurtures social activism; through it can organize or rally people in support
of an issue. HOwever , it is not devoid of soem challenges related to privacy.

Essay Statistics

395 20 20 248 143


Average sentence
Total words Total sentences Total unique words Total stop words
length

Error Details

Spelling

living in a time whe ntechnology makes most things easier, Possible spelling mistake found
w...

living in a time whe ntechnology makes most things easier, Possible spelling mistake found
whatsapp has ...

...e ntechnology makes most things easier, whatsapp has c Possible spelling mistake found
leary revolutiozed communication,e...

... makes most things easier, whatsapp has cleary revolutio Possible spelling mistake found
zed communication,especially f...

...most things easier, whatsapp has cleary revolutiozed co Possible spelling mistake found
mmunication,especially for people who...

...Since it was founded in 2009(whatapp) , whatsapp has p Possible spelling mistake found
roved to be one of the essential t...

...icated and expensive. Apart from postal servies, there w Possible spelling mistake found
ere some very expensive . apart...

...expensive . apart from postal services, tehrer were some Possible spelling mistake found
very expensive international ...

© 2024 SHL and/or its affiliates. All rights reserved.. 29/34


...d this with methods of free and instant communciation . Possible spelling mistake found
A person can send and reveive message...

...t communciation . A person can send and reveive messa Possible spelling mistake found
ges,photos, and videos, and make v...

...f personal relations. Thus the families separted by distan Possible spelling mistake found
ce can easily be in touch and ...

...e children reach through shared videos. Frineds can keep Possible spelling mistake found
up the bonds of frinedship eve...

...ideos. Frineds can keep up the bonds of frinedship even Possible spelling mistake found
when they live at diffrerent parts...

...ds of frinedship even when they live at diffrerent parts of Possible spelling mistake found
the world group chatting in t...

...t parts of the world group chatting in thhe application fur Possible spelling mistake found
ther promotes colletive ...

...ng in thhe application further promotes colletive interacti Possible spelling mistake found
on among frineds and family me...

...er promotes colletive interaction among frineds and famil Possible spelling mistake found
y members over a common virtua...

...ily members over a common virtual space whatsapp has Possible spelling mistake found
also facilitated communication at a...

...litated communication at a professional leve. with telewo Possible spelling mistake found
rking for example teams, op...

...operating at a professional level. with telelworking for ex Possible spelling mistake found
ample teas operating in different...

...s operating in different time zones can communcate fluid Possible spelling mistake found
ly, share documents ,and even disc...

...as made sure not only that productivity witll be increase Possible spelling mistake found
d but also that firms are al...

...ll be increased but also that firms are alble to operate re Possible spelling mistake found
gardless of distance. For ...

...s of distance. For small businesses and entreprenurs, wh Possible spelling mistake found
atsapp offers an oppurtunity to prov...

... For small businesses and entreprenurs, whatsapp offers Possible spelling mistake found
an oppurtunity to provide custom...

...es and entreprenurs, whatsapp offers an oppurtunity to Possible spelling mistake found
provide customer support and interac...

...o provide customer support and interact direclty with clie Possible spelling mistake found
nts, thus building better busi...

... clients, thus building better business realtionship. besid Possible spelling mistake found
es, whatsapp praticipates in cult...

... better business realtionship. besides, whatsapp praticip Possible spelling mistake found
ates in cultural and social pro...

...usiness realtionship. besides, whatsapp praticipates in cu Possible spelling mistake found


ltural and social processes: it al...

© 2024 SHL and/or its affiliates. All rights reserved.. 30/34


...ocesses it allows cultural exchange and wrldly opennness Possible spelling mistake found
due to the ability to connect...

... it allows cultural exchange and wrldly opennness due to Possible spelling mistake found
the ability to connect people fr...

...nect people from different parts of the wrold. The applica Possible spelling mistake found
tion also nurtures social a...

...an issue. HOwever , it is not devoid of soem challenges r Possible spelling mistake found
elated to privacy.

White Space

...pp has cleary revolutiozed communication,especially for Put a space after the comma
people who live far away from one a...

...r. Since it was founded in 2009(whatapp) , whatsapp has Put a space after the comma, but not before the comma
proved to be one of the es...

... servies, there were some very expensive . apart from p Don't put a space before the full stop
ostal services, tehrer were...

...ethods of free and instant communciation . A person can Don't put a space before the full stop
send and reveive messages,...

.... A person can send and reveive messages,photos, and v Put a space after the comma
ideos, and make voice and video c...

... even when they live at diffrerent parts of the world grou Possible typo: you repeated a whitespace
p chatting in thhe appl...

... can communcate fluidly, share documents ,and even dis Put a space after the comma, but not before the comma
cuss issues in real time. T...

...y people in support of an issue. HOwever , it is not devoi Put a space after the comma, but not before the comma
d of soem challenges rel...

Grammar

It became very user-friendly and bridged a long-standing c Possible grammar error found. Consider replacing it with
ommunication gap among individuals and businesses due t "has become".
o its text messaging, voice calls, video calls, and multimedi
a sharing features.

It became very user-friendly and bridged a long-standing c Possible grammar error found. Consider replacing it with
ommunication gap among individuals and businesses due t "between".
o its text messaging, voice calls, video calls, and multimedi
a sharing features.

traditionally, communication at a distance was complicated Possible grammar error found. Consider removing "a" from
and expensive. here.

traditionally, communication at a distance was complicated Possible grammar error found. Consider replacing it with
and expensive. "is".

A person can send and reveive messages,photos, and vide Possible grammar error found. Consider replacing it with
os, and make voice and video calls today without any huge "messages,photos".
costs, no matter which part of the world one lives in.

© 2024 SHL and/or its affiliates. All rights reserved.. 31/34


Thus the families separted by distance can easily be in tou Possible grammar error found. Consider removing "the"
ch and share life events as it allows for real-time communi from here.
cation.

Frineds can keep up the bonds of frinedship even when the Possible grammar error found. Consider replacing it with
y live at diffrerent parts of the world group chatting in thhe "in".
application further promotes colletive interaction among fri
neds and family members over a common virtual space wh
atsapp has also facilitated communication at a professional
leve.

Frineds can keep up the bonds of frinedship even when the Possible grammar error found. Consider replacing it with
y live at diffrerent parts of the world group chatting in thhe "world.".
application further promotes colletive interaction among fri
neds and family members over a common virtual space wh
atsapp has also facilitated communication at a professional
leve.

Frineds can keep up the bonds of frinedship even when the Possible grammar error found. Consider replacing it with
y live at diffrerent parts of the world group chatting in thhe "friendly".
application further promotes colletive interaction among fri
neds and family members over a common virtual space wh
atsapp has also facilitated communication at a professional
leve.

Frineds can keep up the bonds of frinedship even when the Possible grammar error found. Consider replacing it with
y live at diffrerent parts of the world group chatting in thhe "space.".
application further promotes colletive interaction among fri
neds and family members over a common virtual space wh
atsapp has also facilitated communication at a professional
leve.

Frineds can keep up the bonds of frinedship even when the Possible grammar error found. Consider replacing it with
y live at diffrerent parts of the world group chatting in thhe "level".
application further promotes colletive interaction among fri
neds and family members over a common virtual space wh
atsapp has also facilitated communication at a professional
leve.

with teleworking for example teams, operating at a profess Possible grammar error found. Consider replacing it with
ional level. "example,".

with telelworking for example teas operating in different ti Possible grammar error found. Consider replacing it with
me zones can communcate fluidly, share documents ,and e "example,".
ven discuss issues in real time.

besides, whatsapp praticipates in cultural and social proces Possible grammar error found. Consider replacing it with
ses: it allows cultural exchange and worldly and social proc "processes.".
esses it allows cultural exchange and wrldly opennness due
to the ability to connect people from different parts of the
wrold.

besides, whatsapp praticipates in cultural and social proces Possible grammar error found. Consider replacing it with
ses: it allows cultural exchange and worldly and social proc "processes.".
esses it allows cultural exchange and wrldly opennness due
to the ability to connect people from different parts of the
wrold.

The application also nurtures social activism; through it ca Possible grammar error found. Consider replacing it with
n organize or rally people in support of an issue. "activism,".

© 2024 SHL and/or its affiliates. All rights reserved.. 32/34


Typographical

living in a time whe ntechnology makes most th... This sentence does not start with an uppercase letter

...alls, and multimedia sharing features. traditionally, com This sentence does not start with an uppercase letter
munication at a distance was compli...

...rvies, there were some very expensive . apart from post This sentence does not start with an uppercase letter
al services, tehrer were some ...

...d communication at a professional leve. with teleworking This sentence does not start with an uppercase letter
for example teams, operatin...

...ams, operating at a professional level. with telelworking f This sentence does not start with an uppercase letter
or example teas operating...

... building better business realtionship. besides, whatsapp This sentence does not start with an uppercase letter
praticipates in cultural and ...

© 2024 SHL and/or its affiliates. All rights reserved.. 33/34


4 Learning Resources

English Comprehension

Improve your hold on the language by reading Shakespearan plays

Learn about how to get better at reading

Read opinions to improve your comprehension

Logical Ability

Watch a video on the art of deduction

Learn about Sherlock Holmes' puzzles and develop your deductive logic

Take a course on advanced logic

Quantitative Ability (Advanced)

Learn about the principles of statistics

Learn about the real life applications of probability

Learn about the real life applications of logarithms

Icon Index

Free Tutorial Paid Tutorial Youtube Video Web Source

Wikipedia Text Tutorial Video Tutorial Google Playstore

© 2024 SHL and/or its affiliates. All rights reserved.. 34/34

You might also like