Gradle Interview questions and Answer Part 1

What are the parts of the task lifecycle?

A. Configuration, Execution
B. Initialization, Configuration, Execution
C. Initialization, Configuration, Execution, Finalization
D. Execution

Ans: B. Initialization, Configuration, Execution

If I want to run a java application which plugin do I use?

A. java
B. run
C. application
D. java-runner

Ans: C. application

What does the wrapper task do?

A. Ensures that all developers use the same version of Gradle to build the code
B. Wraps up the code so that any exceptions are caught
C. Wraps gradle so it can be used from an IDE such as Eclipse
D. Installs an extra set of Java tasks to make testing easier

Ans: A. Ensures that all developers use the same version of Gradle to build the code

What is the syntax for filtering tests in gradle?

A. add a test { filter {} } closure
B. you have to run all the tests, you cannot filter
C. add the test-filter plugin
D. build only the tests you want to run

Ans: A. add a test { filter {} } closure

What does taskA.finalizedBy taskB do?

A. Causes taskB to run before taskA
B. Causes taskA and taskB to run in parallel
C. Nothing, this is not yet available in Gradle
D. Causes taskB to run after taskA

Ans: D. Causes taskB to run after taskA

When you taskA.mustRunAfter taskB

A. When you taskA.mustRunAfter taskB
B. taskA runs after taskB only if both tasks are scheduled to run
C. taskB always runs after

Ans: B. taskA runs after taskB only if both tasks are scheduled to run

When you call doLast on a task twice passing different closures what happens?

A. Only the first closure is executed
B. Only the last closure is executed
C. Neither closure is executed, it is an error
D. Both closures are executed

Ans: D. Both closures are executed

How do you add the java plugin?

A. Do nothing. The plugin is always enabled
B. apply java plugin
C. java ‘plugin’
D. apply plugin ‘java’

Ans: D. apply plugin ‘java’

When copying files you can use which method to replace text?

A. expand
B. replace
C. regex
D. insert

Ans: A. expand

Which of the following is valid gradle syntax to add a compile dependency on junit?

A. compile name=junit version=4.1.2
B. compile ‘junit:4.12’
C. compile ‘junit:version:4.1.12’
D. compile ‘junit:junit:4.1.12’

Ans: D. compile ‘junit:junit:4.1.12’

What is the syntax for defining a repository in Gradle?

A. use jcenter()
B. repositories: jcenter()
C. repository: jcenter()
D. repositories { jcenter() }

Ans: D. repositories { jcenter() }

In a multi project build which two files do I need to add to the top level project?

A. build.gradle and build.settings
B. multi.gradle and settings.gradle
C. build.gradle and settings.properties
D. build.gradle and settings.gradle

Ans: D. build.gradle and settings.gradle

How do you declare a task?

A. Task.withName taskName
B. Task taskName
C. Task: taskName
D. taskName: Task

Ans: B. Task taskName

If you use the gradle-testsets-plugin how do you add an integrationTest sourceset in gradle?

A. testSets { integrationTest { dirName=’myDir’ } }
B. testSets { dirName=’myDir’}
C. testSets { integrationTest = ‘myDir’ }
D. integrationTest { dirName=’myDir’}

Ans: A. testSets { integrationTest { dirName=’myDir’ } }

When you use the << syntax which method on the task is executed?

A. last
B. first
C. doFirst
D. doLast

Ans: D. doLast

How do I tell the plugin where my Java files are if I don’t follow the Gradle convention?

A. use a sources closure
B. set a source property in the gradle build file
C. use a sourceSets closure
D. set a source property on the command line of the gradle build tool

Ans: C. use a sourceSets closure

How do you declare a typed task?

A. task copyImages (type: Copy)
B. task copyImages (type: Copy)
C. Copy copyImages

Ans: A. task copyImages (type: Copy)

Rajesh Kumar
Follow me