Introduction
I’ve written quiet a bit about ChatGPT within the final month. As of this put up, it’s nonetheless banned on Stack Overflow. I consider I confirmed
why with my earlier put up. In it, I confirmed that ChatGPT is liable to including delicate errors (and in some circumstances not so delicate), which is dangerous on
Q&A website.
At present’s put up follows within the footsteps of my writing about how I hope ChatGPT inpires software program engineering hiring managers to alter their
hiring course of. I wrote about how ChatGPT can clear up LeetCode issues. At present’s put up goes to deal with an organization known as TestGorilla and a
couple of their assessments.
First a disclaimer: I used to be Director of Engineering at Woven Groups in 2022. Previous to that, I used to be a buyer of Woven for over two years.
Woven is a competitor of TestGorilla. That mentioned, I don’t recall TestGorilla being mentioned throughout my employment at Woven.
I solely grew to become conscious of them throughout my job search this 12 months. I would be joyful to do that identical sort of study on a Woven evaluation, however as far
as I’m conscious, their prompts should not introduced publicly. TestGorilla’s prompts used on this article are taken instantly from their web site. I didn’t
converse with both firm previous to writing this text.
Evaluation One – PHP Arrays
The primary evaluation I wish to have a look at is said to PHP Arrays. The immediate itself if pretty easy.
That is billed as:
PHP (coding): intermediate-level algorithms
This PHP take a look at evaluates candidates’ coding abilities by a brief coding project. The take a look at requires candidates to write down code that meets sure necessities, and candidates can run their code to check if the outcome matches their expectations.
The estimated time for this take a look at is half-hour.
Properly, let’s have a look at if ChatGPT is an intermediate stage PHP programmer. Pasting the immediate into ChatGPT rapidly spits out a outcome, in Python. I am not
stunned since virtually all of my testing has been in Python. I supplied one further set of instructions for ChatGPT to make the most of, primarily based on the boilerplate
code supplied.
Write this in PHP utilizing the next as a template:
operate sum_array( $no1, $no2 ) {
$array = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100];
//Insert your code right here
}
?>
The outcome supplied seems purposeful, primarily based on very outdated PHP syntax data.
operate sum_array($no1, $no2) {
$array = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100];
if ($no1 < 0 || $no2 < 0) {
return -1;
} else if ($no1 > $no2) {
return 0;
} else {
$sum = 0;
for ($i = 0; $i < rely($array); $i++) {
if ($array[$i] >= $no1 && $array[$i] <= $no2) {
$sum += $array[$i];
}
}
return $sum;
}
}
?>
I copy and pasted that into TestGorilla’s preview web page and ran it to see the way it’d do.
Process executed efficiently.
---------------------------------
Enter parameters: ((int) 10, (int) 20)
Outcome: (30)
OK
---------------------------------
Enter parameters: ((int) 10, (int) 30)
Outcome: (60)
OK
---------------------------------
Enter parameters: ((int) 30, (int) 50)
Outcome: (120)
OK
---------------------------------
Enter parameters: ((int) 90, (int) 100)
Outcome: (190)
OK
Success! One intermediate PHP evaluation accomplished. Complete time taken: 2 minutes.
Evaluation Two – Kotlin Arrays
This evaluation is listed as a “New Take a look at” by TestGorilla on the time of this put up. The problem right here, if ChatGPT fails, is that I’ve by no means
used Kotlin.

That is billed as:
Kotlin (Coding): Working with Arrays
This Kotlin Coding take a look at evaluates candidates’ capability to work with arrays. The take a look at provides candidates half-hour to create a brief algorithm involving arrays whereas making an allowance for all the necessities supplied.
That is billed as a 20 minute evaluation. It’s also billed as an intermediate stage evaluation.
I pasted the immediate into ChatGPT and in addition supplied the boiler plate code block. The immediate would not explicitly say “Kotlin” anyplace, and I did not point out
it both. The one trace supplied was the boiler plate code. ChatGPT picked up the language and returned a outcome.
enjoyable getUniqueStudentIds(a: Array<Int>): Array<Int> {
if (a.any it > 99999 ) {
return arrayOf(-1)
}
return a.distinct().toTypedArray()
}
Working this on TestGorilla’s preview web page passes the in-built take a look at circumstances:
Process executed efficiently.
---------------------------------
Enter parameters: (arrayOf(52311, 52311, 55125, 55125, 52128, 52130, 52128) )
Outcome: (52311, 55125, 52128, 52130)
OK
---------------------------------
Enter parameters: (arrayOf(59100, 58200, 58200, 51190, 58200) )
Outcome: (59100, 58200, 51190)
OK
---------------------------------
Enter parameters: (arrayOf(54321, 54321, 54321, 54321, 54321) )
Outcome: (54321)
OK
---------------------------------
Enter parameters: (arrayOf(54321, 53421, 53241, 53214, 54231, 54213, 54312) )
Outcome: (54321, 53421, 53241, 53214, 54231, 54213, 54312)
OK
Success! Complete time: 1 Minute
Analysis
Regardless of not understanding Kotlin, I can have a look at the code supplied and see that enhancements may be made to the code. The immediate says
Be aware that each one scholar IDs are 5-digit numbers starting with the quantity 5. Return -1 as a single factor within the array within the case of any invalid enter.
The if (a.any ) assertion may be adjusted to mirror the immediate’s specification higher. Moreover, there is not a
in-built take a look at case for invalid information, however I think that it will fail primarily based on the anticipated return.
Relying on how TestGorilla is evaluating these edge circumstances on the paid model of this examination, this can be picked up. On the free preview model, although
it’s not.
Hiring course of
As soon as once more, the reader ought to be capable of see {that a} easy technical analysis of software program engineers within the hiring course of is not adequate. It
took me longer to find out which prompts I wished to judge for this put up than it did to unravel with a pair copy and pastes into ChatGPT.
The hiring course of should be greater than “clear up this code problem”. Hiring managers want to maneuver previous code solely assessments. As a substitute, deal with a
candidate’s capability to technically assess and decide primarily based on a context particular drawback. Most of these issues require a candidate to point out their
expertise, versus their capability to Google, ask Stack Overflow or use ChatGPT to supply an issue immediate. Consider your candidates primarily based on the
work you need them to really do.
