put "Hello, World!" into field "Output"
Ask the right questions to secure the right LiveCode talent among an increasingly shrinking pool of talent.
LiveCode is a high-level programming language developed by the Scotland-based company LiveCode Ltd. First released in 2001, it was initially known as Revolution and designed to be user-friendly for novice programmers. The language allows developers to create applications that can run on multiple platforms such as Windows, MacOS, Linux, iOS and Android. Its unique feature is its English-like syntax which simplifies coding process significantly (source: "Livecode.com"). Today, LiveCode remains popular due to its simplicity and cross-platform capabilities (source: "Techopedia.com").
The next 20 minutes of the interview should attempt to focus more specifically on the development questions used, and the level of depth and skill the engineer possesses.
LiveCode has three types of variables: global, local, and script-local. Global variables are accessible from all scripts, local variables are only accessible within the handler they are declared in, and script-local variables are accessible from all handlers within the script they are declared in.
In LiveCode, you can handle errors using the 'try' statement. If an error occurs in the code within the 'try' block, execution jumps to the 'catch' block, where you can handle the error.
The 'put' command in LiveCode is used to place a value into a container, such as a variable or a field. It can also be used to append data to a file or to a variable.
To create a button in LiveCode, you would use the 'create' command followed by the type of object you want to create, in this case, 'button'. You can then set the button's properties using the 'set' command.
A LiveCode script is structured as a series of handlers, which are blocks of code that respond to specific events or messages. Handlers begin with the 'on' or 'function' keyword followed by the name of the handler, and end with 'end'.
The tech industry is constantly evolving. A good developer should be open to learning new technologies and adapting to changes.
In a development environment, deadlines are often tight and the pressure can be high. The candidate should be able to manage their time effectively and perform well under pressure.
Previous experience with similar projects can indicate that the candidate is capable of handling the tasks and challenges that may arise in this position.
Good communication skills are essential in a development team. The candidate should be able to explain their thought process, understand instructions, and work well with others.
This is crucial as coding often involves troubleshooting and finding solutions to complex problems. A good developer should be able to think critically and solve problems efficiently.
This is important because LiveCode is the primary language they will be working with. They should be able to demonstrate a deep understanding of its syntax, structure, and capabilities.
The next 20 minutes of the interview should attempt to focus more specifically on the development questions used, and the level of depth and skill the engineer possesses.
In LiveCode, the 'hide' command makes an object invisible but it still exists in the stack, while the 'delete' command removes the object from the stack entirely.
In LiveCode, you can store data in an array using the 'put' command. You can then retrieve this data by referencing the array and the key associated with the data. For example, 'put "Hello" into myArray["greeting"]' would store the string "Hello" in the array, and 'put myArray["greeting"] into field "Output"' would retrieve it.
The 'send' command in LiveCode is used to send a message to an object. This message will trigger the corresponding handler in the object's script, if it exists.
A repeat loop in LiveCode is used to execute a block of code multiple times. The repeat loop can be controlled by a condition or by a count. For example, 'repeat with i = 1 to 10' would repeat the code block 10 times.
In LiveCode, a function returns a value whereas a command does not. Functions are called as part of an expression, while commands are called as part of a statement.
A skilled LiveCode engineer should show proficiency in LiveCode language, problem-solving skills, and a good understanding of user interface design. Red flags could include lack of practical experience, inability to think logically through coding problems, or poor communication skills.
put "Hello, World!" into field "Output"
put the number of chars in "LiveCode" into myVariable
answer myVariable
put the keys of tArray into tKeyList
sort tKeyList
lock messages
put "Hello, World!" into field "Output"
unlock messages
create button "My Button"
set the name of last button to "New Button"
put the systemVersion into myVariable
answer myVariable
The final few interview questions for a LiveCode candidate should typically focus on a combination of technical skills, personal goals, growth potential, team dynamics, and company culture.
Some best practices for optimizing performance in LiveCode include minimizing the use of global variables, optimizing loops, using native LiveCode functions and commands where possible, and minimizing the use of the 'send' command, which can be slower than directly calling a handler.
In LiveCode, you can implement recursion by having a function call itself. However, you need to ensure that there is a base case that will stop the recursion, otherwise it could lead to an infinite loop.
In LiveCode, 'pass' allows a message to continue on to the next handler in the message path, while 'exit' stops the current handler and any remaining code in the handler is not executed.
In LiveCode, you can create a custom property using the 'set' command, and then reference it using the 'get' command. For example, 'set the myProperty of button "MyButton" to "Hello"' would create a custom property, and 'get the myProperty of button "MyButton"' would retrieve it.
In LiveCode, there are system messages, user messages, and custom messages. System messages are sent by the LiveCode environment in response to user actions or system events. User messages are sent by the user's script in response to user actions. Custom messages are defined by the user and can be sent by the user's script.
Back-end App Developer
Front-end Web Developer
Full Stack Developer (Java)
Full Stack Developer (.Net)
Full Stack Developer (MEAN)
Full Stack Developer (MERN)
DevOps Engineer
Database Engineer (AzureSQL)
Database Engineer (Oracle)
Database Engineer (General)
Solution Architect (.NET)
Solution Architect (Java)
Solution Architect (Ruby)
Solution Architect (Python)
AI Engineer (Python)
Sr. AI Engineer (Python)
AI Strategist (Python)
Business Intelligence Engineer
Systems Analyst
Mainframe Developer (COBOL)
Mainframe Developer (General)