Hiring guide for ThinBasic Engineers

ThinBasic Developer Hiring Guide

ThinBasic is a scripting language for Windows operating systems. It is designed to be easy to learn and use, making it an ideal choice for beginners. Despite its simplicity, ThinBasic offers a wide range of features and functionalities that allow users to create complex scripts and applications. It supports various programming paradigms including procedural, object-oriented, and event-driven programming. ThinBasic also provides extensive support for Windows API functions, allowing developers to directly interact with the operating system. Additionally, it has built-in support for creating graphical user interfaces (GUIs), making it easier to develop desktop applications.

Ask the right questions secure the right ThinBasic talent among an increasingly shrinking pool of talent.

First 20 minutes

General ThinBasic app knowledge and experience

The first 20 minutes of the interview should seek to understand the candidate's general background in ThinBasic application development, including their experience with various programming languages, databases, and their approach to designing scalable and maintainable systems.

How would you declare a variable in ThinBasic?
In ThinBasic, you can declare a variable using the DIM statement. For example, 'DIM myVariable AS LONG'.
What are the basic data types in ThinBasic?
ThinBasic supports several data types including INTEGER, LONG, SINGLE, DOUBLE, STRING, and VARIANT.
How would you create a function in ThinBasic?
You can create a function in ThinBasic using the FUNCTION keyword. For example, 'FUNCTION MyFunction() AS LONG'.
Describe the difference between a FUNCTION and a SUB in ThinBasic.
In ThinBasic, a FUNCTION returns a value while a SUB does not. Both can take parameters and perform operations.
How would you handle errors in ThinBasic?
You can handle errors in ThinBasic using the ON ERROR GOTO statement. This allows you to specify a label to jump to when an error occurs.
The hiring guide has been successfully sent to your email address.
Oops! Something went wrong while submitting the form.

What you’re looking for early on

Does the candidate demonstrate a strong understanding of ThinBasic?
Has the candidate shown any experience working on projects using ThinBasic?
Is the candidate able to solve problems and debug code in ThinBasic?
Can the candidate communicate technical information effectively?

Next 20 minutes

Specific ThinBasic development questions

The next 20 minutes of the interview should focus on the candidate's expertise with specific backend frameworks, their understanding of RESTful APIs, and their experience in handling data storage and retrieval efficiently.

What are the control structures available in ThinBasic?
ThinBasic supports several control structures including IF-THEN-ELSE, SELECT CASE, FOR-NEXT, DO-LOOP, and WHILE-WEND.
How would you read and write files in ThinBasic?
You can use the OPEN, PRINT, INPUT, and CLOSE statements to read and write files in ThinBasic.
Describe the difference between the PRINT and INPUT statements in ThinBasic.
In ThinBasic, the PRINT statement is used to output data to the console or a file, while the INPUT statement is used to read data from the console or a file.
How would you create a multidimensional array in ThinBasic?
You can create a multidimensional array in ThinBasic using the DIM statement. For example, 'DIM myArray(10, 20) AS LONG'.
What are the string manipulation functions available in ThinBasic?
ThinBasic provides several string manipulation functions including LEFT$, RIGHT$, MID$, LEN, INSTR, and TRIM$.
The hiring guide has been successfully sent to your email address.
Oops! Something went wrong while submitting the form.

The ideal back-end app developer

What you’re looking to see on the ThinBasic engineer at this point.

At this point, a skilled ThinBasic engineer should demonstrate strong problem-solving abilities, proficiency in ThinBasic programming language, and knowledge of software development methodologies. Red flags include lack of hands-on experience, inability to articulate complex concepts, or unfamiliarity with standard coding practices.

Digging deeper

Code questions

These will help you see the candidate's real-world development capabilities with ThinBasic.

What does this simple ThinBasic script do?
PRINT "Hello, World!"
SLEEP
This script prints the string 'Hello, World!' to the console and then pauses execution until the user presses a key.
What will be the output of this ThinBasic script?
DIM a AS LONG
a = 5
a = a * 2
PRINT a
SLEEP
This script declares a variable 'a' as a long integer, assigns it the value 5, multiplies it by 2, and then prints the result. The output will be '10'.
What does this ThinBasic script do with an array?
DIM arr(5) AS LONG
FOR i = 1 TO 5
  arr(i) = i * 2
NEXT
FOR i = 1 TO 5
  PRINT arr(i)
NEXT
SLEEP
This script declares an array 'arr' of long integers with 5 elements, assigns each element the value of its index multiplied by 2, and then prints each element. The output will be '2', '4', '6', '8', '10'.
What does this ThinBasic script do with threading?
USEUNIT TBGL
FUNCTION TBMAIN()
  TBGL_CreateWindowEx(640, 480, 32, TBGL_WS_WINDOWED)
  TBGL_NewList 1, %GL_COMPILE
  TBGL_BeginPoly %GL_QUADS
  TBGL_EndPoly
  TBGL_EndList
  DO
    TBGL_DrawList 1
    TBGL_PollMessages
  LOOP UNTIL TBGL_IsWindowClosed()
END FUNCTION
This script creates a window using the TBGL unit, compiles a new display list with ID 1, begins and ends a polygon definition, and then enters a loop where it draws the display list and polls for window messages until the window is closed.

Wrap-up questions

Final candidate for ThinBasic Developer role questions

The final few questions should evaluate the candidate's teamwork, communication, and problem-solving skills. Additionally, assess their knowledge of microservices architecture, serverless computing, and how they handle ThinBasic application deployments. Inquire about their experience in handling system failures and their approach to debugging and troubleshooting.

How would you call a DLL function in ThinBasic?
You can call a DLL function in ThinBasic using the DECLARE statement to define the function and the CALL statement to call it.
Describe the difference between the DIM and REDIM statements in ThinBasic.
In ThinBasic, the DIM statement is used to declare a new array, while the REDIM statement is used to resize an existing array.
How would you create a GUI application in ThinBasic?
You can create a GUI application in ThinBasic using the TBGL module, which provides functions for creating windows, buttons, and other GUI elements.

ThinBasic application related

Product Perfect's ThinBasic development capabilities

Beyond hiring for your ThinBasic engineering team, you may be in the market for additional help. Product Perfect provides seasoned expertise in ThinBasic projects, and can engage in multiple capacities.