
















































































Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
A set of practice exam questions and answers for the nuix developer java certification. It covers key concepts and methods used in the nuix java api, including case management, data model, scripting languages, and custom processors. The questions are designed to test understanding of core functionalities and best practices for developing with nuix. It is useful for university students and lifelong learners.
Typology: Exams
1 / 88
This page cannot be seen from the preview
Don't miss anything!

















































































Question 1. Which Nuix core interface is responsible for creating and opening cases? A) NuixFactory B) CaseFactory C) WorkerPool D) ItemFactory Answer: B Explanation: CaseFactory provides methods to create new cases or open existing ones, handling the underlying case lifecycle. Question 2. In the Nuix data model, which object represents the container that can hold other items such as attachments? A) Item B) Metadata C) Container D) CustomMetadata Answer: C Explanation: A Container is an Item that can have child items (e.g., an email with attachments), representing hierarchical relationships. Question 3. Which of the following best describes the purpose of the NuixFactory class? A) Managing worker threads B) Providing access to the Nuix Engine instance C) Defining custom metadata schemas D) Executing NQL queries Answer: B Explanation: NuixFactory is the entry point for obtaining a reference to the running Nuix Engine, which is required before accessing cases or other services.
Question 4. When using the Java API, which method safely closes a case to release resources? A) case.close() B) case.shutdown() C) case.release() D) case.terminate() Answer: A Explanation: The close() method on a Case object flushes pending changes and releases file handles, ensuring a clean shutdown. Question 5. Which Nuix scripting language is built on the JVM and can directly call Java methods without additional wrappers? A) Python B) JRuby C) Groovy D) JavaScript Answer: C Explanation: Groovy runs on the JVM and allows seamless interop with Java classes, making it ideal for rapid prototyping of Java API calls. Question 6. What is the primary advantage of using an External Script over a Custom Processor in Nuix? A) Runs inside the processing pipeline B) Can be executed without loading a case C) Provides UI integration D) Offers higher performance for bulk tagging
C) item.setItemMetadata(customMetadata) D) metadataManager.apply(item, map) Answer: C Explanation: setItemMetadata(CustomMetadata) updates the custom metadata associated with an Item. Question 10. System‑generated metadata such as MD5 hash is stored in which object? A) CustomMetadata B) ItemMetadata C) SystemMetadata D) Metadata Answer: D Explanation: The Metadata object contains both system‑generated fields (MD5, MIME type, etc.) and user‑defined fields. Question 11. Which API call retrieves the original text of an item, preserving layout? A) item.getIndexText() B) item.getOriginalText() C) item.getTextRepresentation("original") D) item.getFullText() Answer: B Explanation: getOriginalText() returns the raw extracted text before any indexing or cleaning. Question 12. To extract binary data from a PDF attachment, which method should you use? A) item.getBinaryData() B) item.getContent() C) item.getDataStream()
D) item.getBinary() Answer: A Explanation: getBinaryData() returns the raw bytes of the item, suitable for saving or custom parsing. Question 13. Which TagManager method removes a tag from an item without affecting other tags? A) tagManager.clearTag(item, tag) B) tagManager.removeTag(item, tag) C) tagManager.deleteTag(item, tag) D) tagManager.unassignTag(item, tag) Answer: B Explanation: removeTag(item, tag) removes the specified tag while preserving any other tags applied to the item. Question 14. When applying tags based on a regular expression match of an email subject, which class is most appropriate for evaluating the condition? A) PatternMatcher B) RegexProcessor C) java.util.regex.Pattern D) TagConditionEvaluator Answer: C Explanation: java.util.regex.Pattern provides compiled regex support, allowing efficient matching against item fields. Question 15. In a custom WorkerProcessor, which method is invoked for each item during processing? A) processItem(Item item)
A) conversationId B) threadId C) messageId D) parentId Answer: B Explanation: threadId is the identifier Nuix assigns to items belonging to the same email conversation. Question 19. When traversing a container hierarchy, which method returns the child items of a given container? A) container.getChildren() B) container.getItems() C) container.listMembers() D) container.getDescendants() Answer: A Explanation: getChildren() provides direct child items (attachments, embedded files) of a container. Question 20. Which API call creates a new custom artifact (e.g., CSV report) from a list of items? A) case.exportReport(items, format) B) ReportGenerator.generate(items, "csv") C) case.createArtifact(items, "csv") D) ArtifactBuilder.build(items, ArtifactType.CSV) Answer: C Explanation: createArtifact produces a custom export artifact using the specified format.
Question 21. Which interface should be used to execute tasks in parallel across multiple worker threads? A) ThreadPoolExecutor B) WorkerPool C) ParallelExecutor D) ConcurrencyManager Answer: B Explanation: Nuix’s WorkerPool abstracts thread management and integrates with the engine’s worker infrastructure. Question 22. What is a key principle for ensuring thread‑safe interaction with case objects? A) Use synchronized blocks around every API call B) Only access case objects from the main thread C) Avoid modifying case state from worker threads without using provided thread‑safe methods D) Disable garbage collection during processing Answer: C Explanation: Nuix provides thread‑safe methods for case modifications; direct unsynchronized changes can cause race conditions. Question 23. Which Java option reduces the frequency of garbage collection pauses during large batch operations? A) - Xms4g - Xmx4g B) - XX:+UseG1GC C) - XX:+UseParallelGC D) - XX:+DisableExplicitGC Answer: B
C) Size of the case file on disk D) Number of worker threads used Answer: B Explanation: Long execution times usually point to non‑optimal query structures, missing indexes, or excessive scanning. Question 27. Which technique minimizes I/O when updating metadata for thousands of items? A) Update each item individually B) Use batchUpdateMetadata(List
B/ POST /api/cases C) PUT /cases D) POST /v1/cases Answer: D Explanation: The REST API version 1 defines POST /v1/cases for case creation, returning the new case identifier. Question 30. When normalizing dates from an external source, which Java class provides robust timezone handling? A) java.util.Date B) java.time.ZonedDateTime C) java.sql.Timestamp D) java.util.Calendar Answer: B Explanation: ZonedDateTime includes explicit timezone information, making it ideal for normalizing disparate date strings. Question 31. Which build tool is recommended for managing Nuix API dependencies in a Java project? A) Ant B) Maven C) Gradle D) Both B and C are acceptable Answer: D Explanation: Both Maven and Gradle support dependency management; the choice depends on team preference.
Question 35. To ensure backward compatibility after a Nuix upgrade, you should: A) Recompile all Java code with the new JARs B) Avoid using any deprecated APIs C) Disable all custom extensions D) Only use the latest Java version Answer: B Explanation: Deprecated APIs may be removed in future releases; avoiding them helps maintain compatibility. Question 36. Which method retrieves the total number of items in a case without loading them? A) case.getItemCount() B) case.countItems() C) case.getStatistics().getItemCount() D) case.getMetadata().size() Answer: C Explanation: getStatistics() returns aggregated case data, including the total item count, without iterating over items. Question 37. In Nuix, what does the term “family” refer to? A) A group of related cases B) The hierarchical relationship between a host item and its children C) A set of tags sharing a prefix D) The collection of custom metadata fields Answer: B
Explanation: Family describes parent‑child relationships such as an email (host) and its attachments (children). Question 38. Which NQL operator is used to perform a case‑insensitive search on a string field? A) = B) ~= C) ~~ D) LIKE Answer: C Explanation: The double tilde (~~) performs a case‑insensitive fuzzy match in NQL. Question 39. When you need to process only PDF files that are attachments of emails, which combination of filters is most efficient? A) mime:application/pdf AND parenttype:email B) type:pdf AND container:email C) mime:pdf AND isAttachment:true D) filetype:pdf AND email:true Answer: A Explanation: Using mime for precise type and parenttype to restrict to email containers yields an optimal query. Question 40. Which class is used to build a custom JSON report from a list of items? A) JsonReportBuilder B) ObjectMapper (Jackson) C) JsonGenerator D) ReportWriter
D) IllegalStateException Answer: B Explanation: ProcessorException is defined by Nuix to signal errors that the engine can catch and handle gracefully. Question 44. Which Nuix API method returns the list of all tags defined in a case? A) case.getAllTags() B) tagManager.listTags() C) case.getTagManager().getTags() D) tagManager.getAllTags() Answer: D Explanation: TagManager.getAllTags() provides a collection of Tag objects representing every tag in the case. Question 45. To limit the number of worker threads used by a WorkerPool, which property should be set? A) WorkerPool.setMaxThreads(int) B) Engine.setThreadCount(int) C) WorkerPool.configure(int) D) System.setProperty("nuix.worker.threads", "value") Answer: A Explanation: setMaxThreads limits the concurrent threads the pool can spawn, controlling resource usage. Question 46. Which Java construct is recommended for ensuring that a case is always closed, even if an exception occurs? A) try { … } finally { case.close(); }
B) try { … } catch (Exception e) { case.close(); } C) try (Case case = ...) { … } D) Both A and C are correct Answer: D Explanation: Both a finally block and the try‑with‑resources pattern guarantee the close() method is called. Question 47. In the Nuix data model, which field indicates whether an item is a child of another item? A) parentId B) hostItemId C) containerId D) familyId Answer: A Explanation: parentId stores the identifier of the immediate parent item in the hierarchy. Question 48. Which API call retrieves the list of email recipients for an email item? A) item.getTo() B) item.getRecipients() C) item.getMetadata().get("recipients") D) item.getEmailRecipients() Answer: B Explanation: getRecipients() returns a collection of email addresses listed in the To, Cc, and Bcc fields. Question 49. When exporting a production set, which format is most commonly used for forensic hand‑off?
Question 52. To ensure that a custom processor runs after the default processing pipeline, you should register it with which phase? A) PRE_PROCESS B) POST_PROCESS C) FINALIZE D) CLEANUP Answer: B Explanation: POST_PROCESS executes after the standard processing steps, allowing additional actions on fully processed items. Question 53. Which Java annotation can be used to mark a method that should be executed before any test cases in JUnit 5? A) @BeforeAll B) @BeforeEach C) @Setup D) @Init Answer: A Explanation: @BeforeAll runs once before all test methods in the class. Question 54. When interacting with the Nuix REST API, which HTTP method is appropriate for updating metadata on existing items? A) GET B) POST C) PUT D) PATCH Answer: D
Explanation: PATCH is used for partial updates, such as modifying metadata fields without replacing the entire item representation. Question 55. Which class provides utilities for converting between epoch milliseconds and Nuix’s internal date format? A) DateUtil B) TimeConverter C) DateTimeHelper D) DateFactory Answer: A Explanation: DateUtil includes methods like fromEpochMillis and toEpochMillis for handling date conversions. Question 56. If you need to limit the size of a batch tag operation to 500 items, which pattern should you implement? A) While loop with index increments of 500 B) Recursive tagging method C) Stream API with limit(500) D) All of the above are viable, but the while‑loop is most explicit for API calls Answer: D Explanation: While loops give precise control over batch boundaries, matching the API’s expectations for batch sizes. Question 57. Which Nuix API method returns the total size (in bytes) of an item’s binary content? A) item.getSize() B) item.getBinarySize() C) item.getLength()