Interview › Scripting (Bash, Groovy)
What is Groovy, and where do you most use it in a DevOps context? [Advanced]
Answer
Groovy is a dynamic language for the JVM with Java interoperability and concise scripting features. In DevOps, I most often use it in Jenkins pipelines, Jenkins shared libraries, build automation, and small JVM-based automation tasks.
Technical explanation
Groovy supports closures, maps/lists literals, optional typing, and DSL-style syntax, which is why Jenkins pipelines are readable as code.
Because it runs on the JVM, it can use Java libraries and integrate with Java-based tools.
In Jenkins, Groovy pipeline code is not exactly the same as running normal Groovy because Pipeline uses CPS transformation and sandboxing.
Hands-on example
// Simple Groovy script
def services = ['api', 'worker']
services.each { svc ->
println "deploying ${svc}"
}
// Common DevOps use: Jenkinsfile and shared-library vars/*.groovy files.
Check how well your resume matches the role with our free resume checker— match score, ATS check, and the skills you're missing.
More Scripting (Bash, Groovy) interview questions
- What is the purpose of the shebang line, and what does #!/bin/bash do? [Basic]
- What is the difference between sh and bash? [Basic]
- How do you make a script executable and run it? [Basic]
- What is the difference between running a script with ./script.sh, bash script.sh, and source script.sh? [Basic]
- What does sourcing a script do differently from executing it? [Basic]
- How do you declare a variable in Bash, and why are spaces around = not allowed? [Basic]
- What is the difference between $var and ${var}? [Basic]
- What is the difference between single quotes and double quotes in Bash? [Basic]