Performance and Security Flashcards

1
Q

True or False

When creating a Task.SuiteQLTask, we must specify what SuiteQL query to execute and then define the params to that same SuiteQL query.

A

True, in much the same way as you would when creating a SuiteQL Query in any other way.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What 4 things can we do to optimise search filters?

A

◦ Filter inactive records
◦ Shorter date range
◦ Faster operators (e.g. starts with, between, and within are faster than contains or formulas)
◦ Remove unnecessary columns

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

How many tasks can be added per call to the «TaskType».addInboundDependency function call?

TaskTypes:
QueryTask.addInboundDependency
SearchTask.addInboundDependency
SuiteQLTask.addInboundDependency

A

Only 1

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

There are 4 field ID’s that cannot be read in beforeSubmit for any external role users. (e.g., Shoppers, Online form users, anonymous users, customer centre users, etc.)

What are they, and why?

A

◦ password
◦ password2
◦ ccunumber
◦ ccsecuritycode

Because these fields obviously contain sensitive information (passwords and credit card numbers)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

N/query can convert query objects into what other type of query?

A

SuiteQL queries

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What does the N/cache module enable us to do?

A

Used to enable temporary, short-term storage of data
n/cache

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

When should we use the afterSubmit entry point in a User Event script?

A

When using an operation that depends on the submitted record already being committed to the database

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

If the available without login checkbox is checked, child client scripts cannot use what two modules?

A

N/query & N/search

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

True or False?

It is should NOT read sensitive field values from a User Event script

A

True.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What should we use for debugging a User Event?

A

The debugger; statements on the browser console

This statement can also be used in the SuiteScript Debugger to help debug server scripts

debugging 2.1 user event scripts

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Which of the following can execute a query that was created using the N/query module?

a) Task.QueryTask
b) Task.SearchTask
c) Task.SuiteQLTask
d) All of the above

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Dependent tasks are processed using SuiteCloud Processors, why is this?

A

Because dependent tasks are only capable of being scheduled scripts, or map/reduces

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

If the Concurrency Limit field in the script deployment of a Map/Reduce script is left empty, how many jobs will be assigned to the Map and Reduce stages of the script?

A

The number of jobs created will be equal to the total number of processors available in the account

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What should we use to test performance of user event scripts deployed to a specific record type?

A

The Application Performance Monitor (APM) SuiteApp

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What format are the results from N/query returned in, and what is the limit?

A

They are returned as a result set, with a maximum of 5000 results

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

How can you specify how many SuiteCloud Processors jobs can be assigned to the Map and Reduce stages of a Map/Reduce?

A

Using the Concurrency Limit field in the script deployment.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

N/query uses which query language?

A

SuiteQL

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

What are the 2 security measures that are self explanatory, and should absolutely be upheld at all times?

A

Do not hard code any passwords.

Always encrypt user credentials, use Token Based Authentication or OAuth2.0 when possible

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

The number of SuiteCloud processors available in the account depend on the number of SuiteCloud Plus Licenses purchased.

How many does an account with no licenses have?

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

To set a field on a record or make any changes to a record being submitted, which entry point should we use?

A

beforeSubmit

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

How many SuiteCloud Processors jobs handle each instance of a scheduled script?

A

Each Scheduled script instance is handled by 1 job

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Regarding Integration Concurrency for RESTlets:

The service tier of your account increases the base concurrency limit.

What is the maximum number of SuiteCloud Plus Licenses for a enterprise account, and what is the base concurrency limit?

A
  • Max Licenses: 6
  • Base Concurrency Limit: 20
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

True or False?

A single dataset can ONLY be used in one workbook.

A

False

A single dataset can be used in multiple workbooks

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Which of the following can we add dependent tasks onto, allowing further processing to occur automatically AFTER the original task is complete?

a) Task.QueryTask
b) Task.SearchTask
c) Task.SuiteQLTask
d) All of the above

A

Answer: D

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Why is creating many UE scripts for a single record discouraged?
It greatly increases load times and hinders user experience
26
What does the execution context setting on a User Event specify?
How and when a UE is triggered. (e.g., Only trigger from UI, Only trigger from Suitelet, etc…)
27
What data source does SuiteQL use, and why is this potentially an advantage over Saved Searches or Reports?
Uses the analytics data source which exposes it to data that is not available to Saved Searches or reports
28
To avoid issues when returning a large dataset with N/search: If your search contains a search join, you can lower the occurrence of issues with duplicate results how?
By setting two Sort By columns.
29
What should we do with common code that is used across multiple User Event scripts?
Create a custom module, or a "library", that contains that common code.
30
When returning a large dataset with N/search: If new records are created that fit the search criteria, what happens?
They are also returned. The total number of returned records may be higher after you page through the results than the original total number of results, and duplicate results may be returned.
31
True or False? N/query uses a different data source than the N/search module
True Record type ID or field ID (e.g. Actual Shipping Date field ID in N/search is actualshipdate, but in N/query it is actualShipDate)
32
SuiteCloud Licenses and Base Concurrency
33
N/task can be used to perform 5 significant functions, what are those 5?
◦ Submit a scheduled script ◦ Submit a Map/Reduce script ◦ Import CSV files ◦ Merge duplicate records ◦ Execute asynchronous searches, constructed queries, SuiteQL queries, and workflows [N/task](https://suiteanswers.custhelp.com/app/answers/detail/a_id/43716/loc/en_US)
34
If you want to store a value during a beforeLoad operation and then read that value during an afterSubmit operation in the same script, as a best practice, what should you do?
Create a hidden custom field on the form to store the value. Value stored in beforeLoad in this field and then the value is retrieved from this field in afterSubmit
35
If we want N/search to return more results, what can we do, and what is the limit?
Can return a resultSet, but the limit is 4000 results Alternatively, can use pagination for N/search to return more than 1000 results
36
If new records of the same type, matching the search criteria, are created between a search request and a searchMoreWithId request, what problem could occur?
It can cause position changes in the results and can move records on or even out of search pages. This causes missing or duplicate records on pages.
37
True or False? N/query can load, delete and save existing queries.
False N/query can load and delete existing queries, but it can NOT save queries
38
What does the N/task Task.SearchTask object allow?
Submits a search task into the task queue, execute it asynchronously, and persist the results.
39
What is SuiteQL?
SuiteQL is a query language based on the SQL-92 revision of the SQL database query language
40
The number of SuiteCloud processors available in the account depend on the number of SuiteCloud Plus Licenses purchased. How many SuiteCloud processors are added to the account with EACH SuiteCloud Plus License beyond the first?
5 per license [SuiteCloud Plus ](https://suiteanswers.custhelp.com/app/answers/detail/a_id/27415/loc/en_US)
41
The number of SuiteCloud processors available in the account depend on the number of SuiteCloud Plus Licenses purchased. How many processors would an account with just 1 license have?
Only 5 [SuiteCloud Plus settings](https://suiteanswers.custhelp.com/app/answers/detail/a_id/27415/loc/en_US)
42
What are SuiteCloud Processors?
SuiteCloud Processors is the current system used to process scheduled scripts and map/reduce scripts.
43
In SuiteScript 2.0, as an alternative to using the N/search module for large data sets, what module can we use instead, and which object members of that module?
N/task searchTask object searchTaskStatus object
44
True or False? Dataset.run returns a query result set (same as N/query module)
True
45
What are dependent tasks processed using?
SuiteCloud Processors
46
What should we do with mission critical User Event scripts if we want to account for any errors or misfires?
Create a "clean up" scheduled script to make sure user events performed as they should have.
47
How do datasets create a query, and what can the results of those queries be used for?
Datasets combine record type fields and criteria filters to create a query, the results of this query can be used as the source data for workbooks you create [n/dataset](https://suiteanswers.custhelp.com/app/answers/detail/a_id/95847)
48
Using N/cache, you can create cache with varying availability. What are the 3 availability scopes?
**PRIVATE**: Only available to current script **PROTECTED**: The cache is available only to some scripts: * If the script is part of a bundle, the cache is available to all scripts in the same bundle. * If the script is not in a bundle, the cache is available to all scripts not in any bundle. **PUBLIC**: Available to all server scripts in the account [cache.Scope](https://suiteanswers.custhelp.com/app/answers/detail/a_id/51394)
49
What is a "job" in terms of SuiteCloud Processors?
A job is a piece of work submitted to the processors for processing. Each job is executed by a single processor
50
Regarding Integration Concurrency for RESTlets: The service tier of your account increases the base concurrency limit. What is the maximum number of SuiteCloud Plus Licenses for a standard account, and what is the base concurrency limit?
* Max Licenses: 1 * Base Concurrency Limit: 5
51
When returning a large dataset with N/search: If a record from the first results page is updated and it no longer fits the criteria when going through subsequent pages of search results, what could be a concern?
Results may be missing. For example, if a record from the first results page is updated and it no longer fits the criteria, another record now fits into page one. However, because earlier pages are skipped when going through subsequent pages of search results, this record is not returned.
52
To avoid issues when returning a large dataset with N/search: To ensure new or updated records will not fit the search criteria or to ensure that no new records are added or updated during your search, what would be the best solution?
Using a within lastModifedDate filter is the best solution
53
True or False? N/datasets can be used for all script types.
False. N/datasets can ONLY be used for server side scripts [n/datasets](https://suiteanswers.custhelp.com/app/answers/detail/a_id/95847)
54
True or False? N/query can use multilevel joins.
True
55
How many SuiteCloud Processor jobs are assigned for each Map/Reduce function?
◦ 1 job for getInput stage ◦ 1 job for shuffle stage ◦ 1 job for summarise stage ◦ A minimum of 1 job for map stage ◦ A minimum of 1 job for reduce stage
56
True or False? N/query can be used to delete a dataset.
True
57
How does the SuiteQL technology improve security?
Role-based restrictions still apply, and it does not allow unsupported SQL functions, helping to prevent SQL injection attacks.
58
Limit the amount of script execution in UE scripts. Time taken to execute should be less than..?
5 seconds
59
When using A task to add the results of a query to a CSV file in the File Cabinet, we have to specify a filePath or FileID, what must we take into consideration here?
We can only specify a filePath OR a fileID, if both are set, an error occurs
60
When updating transaction line items in a beforeSubmit script we must ensure that the line item totals, net taxes and discounts are equal to what 4 fields?
summarytotal discounttotal shippingtotal taxtotal
61
True or False? Activities on a hosted website can trigger server-side scripts
True Scripts on Sales Order, Case, and Customer records also execute in response to web activities.
62
True or False? User Event scripts can trigger other user event scripts.
False UE scripts cannot trigger other UE scripts
63
True or False? N/cache can be used in ALL script types.
False. N/cache can only be used in server side scripts
64
When using the N/query module to retrieve credit card information, what version of the credit card number can be retrieved, and ONLY that version?
Only the encrypted version of the credit card number can be retrieved.
65
Regarding Integration Concurrency for RESTlets: The service tier of your account increases the base concurrency limit. What is the maximum number of SuiteCloud Plus Licenses for a ultimate account, and what is the base concurrency limit?
* Max Licenses: 12 * Base Concurrency Limit: 20
66
Why do we need to take caution when using the N/auth module to change user credentials?
Because it allows you to include a plaintext string for the password
67
How can we increase the maximum number of returned results from the N/query module?
Run them as paged.
68
Why should we try to combine searches of the same record type by using merged filters where possible?
This improves performance by reducing search instances
69
What setting determines if a Suitelet can be navigated to by both external and internal users?
The "Available Without Login" checkbox setting.
70
As a best practice, how can we limit the scope of a User Event from within the script itself?
We can use the context object, and context.UserEventType enum to define a limit the scope of a UE script
71
Regarding Integration Concurrency for RESTlets: The integration concurrency limit depends on the number of SuiteCloud Plus Licenses purchased. How much does the concurrency limit increase per SuiteCloud Plus License?
Each SuiteCloud Plus License increase the integration concurrency limit by 10
72
When using SuiteQL, the character cases of record type and field names may not always be consistent and can change. These name changes may occur after a NetSuite release or scheduled e-fix. How can we address this?
Convert these names to upper or lower case to ensure consistency
73
74
Regarding Integration Concurrency for RESTlets: What is the integration concurrency limit for accounts without a license?
The integration concurrency limit for accounts without a license is 5
75
What is a syntactic limitation to the SuiteQL platform?
SuiteQL supports the syntax for both SQL-92 and Oracle SQL, but not all functions. Also, note that you cannot use both syntaxes in the same query. [SuiteQL Syntax and Examples](https://3473768-sb1.app.netsuite.com/app/help/helpcenter.nl?fid=section_156257790831.html)
76
However, to allow external users access, what other setting than the Available Without Login checkbox must be enabled? This setting must be enabled regardless once the Suitelet is set to released in order for the Suitelet to work.
The "All Roles" checkbox.
77
There is a limit to the number of async searches running at any one time. It matches the limit for CSV imports. What is this limit?
The limit is 5 searches running at the same time.
78
Dependent tasks can only be run as what script types?
Dependent tasks can only be one of task.MapReduceScriptTask or task.ScheduledScriptTask, other script types are not supported.
79
Regarding Integration Concurrency for RESTlets: The service tier of your account increases the base concurrency limit. What is the maximum number of SuiteCloud Plus Licenses for a premium account, and what is the base concurrency limit?
* Max Licenses: 3 * Base Concurrency Limit: 15 [SuiteCloud Plus](https://suiteanswers.custhelp.com/app/answers/detail/a_id/27415/loc/en_US)
80
To avoid issues when returning a large dataset with N/search: How should we define our search criteria, to avoid using a loosely defined search that returns a large data set, and why?
Make your search criteria as specific as possible. With more specific criteria, the result set is smaller and there is less chance that records fitting the search criteria are created or updated as you go through the pages of the result set.
81
True or False? The more SuiteCloud Plus Licenses you have for your account, the larger the number of queues available for CSV imports.
False. The number of SuiteCloud licences does not affect the number of queues available for CSV imports
82
Regarding Integration Concurrency for RESTlets: A concurrency limit can be allocated to individual integration records. However, there is a minimum unallocated concurrency limit value (a minimum amount of concurrency that is not allocated to any one integration) which is reserved for integrations that do not use an integration record or for creating a new integration. What is the minimum unallocated concurrency limit value?
The minimum unallocated concurrency limit is 1, so if your concurrency limit is 5, you can only allocate a concurrency limit of 4 to your integrations. Leaving 1 free for integrations without an integration record, or for creating a new integration. [Concurrency Limit Per Integration](https://suiteanswers.custhelp.com/app/answers/detail/a_id/86938/loc/en_US)
83
True or False? Tasks are always triggered asynchronously
True, same as any other programming language
84
True or False? We should use inline editable child custom records when processing child records during UE on a parent record
True [Optimizing SuiteScirpt Performance](https://suiteanswers.custhelp.com/app/answers/detail/a_id/48813/loc/en_US)
85
Which of the following can set a file ID or file path of a CSV file in the File Cabinet? The results of which will be added to that CSV file. a) Task.QueryTask b) Task.SearchTask c) Task.SuiteQLTask d) All of the above
Answer: D The results of the query will be added to the CSV file [task.SearchTask](https://suiteanswers.custhelp.com/app/answers/detail/a_id/63026) [task.QueryTask](https://suiteanswers.custhelp.com/app/answers/detail/a_id/95190) [task.SuiteQLTask](https://suiteanswers.custhelp.com/app/answers/detail/a_id/95202)
86
How many results does N/search return?
N/search returns the first 1000 results
87
Which of the following object members are capable of being utilised to get the status of their corresponding task? a) Task.QueryTask b) Task.SearchTask c) Task.SuiteQLTask d) All of the above
Answer: D
88
Any post-processing operations of a current record should be done in what user event?
afterSubmit
89
How many SuiteCloud Processors jobs handle each instance of a Map/Reduce Script?
Multiple jobs, the number can vary based on the concurrency limit field in the script deployment.
90
True or False? When returning a large dataset with N/search: Page two and the subsequent pages of the results set may contain fewer records than the specified page size.
True
91
Regarding Integration Concurrency for RESTlets: What setting sets the maximum number of concurrent requests for integrations?
The Integration Concurrency Limit
92
When returning a large dataset with N/search: If a record that originally fit the search criteria is updated and no longer fits the criteria, what happens?
It is skipped by the search. In this case, some records that were originally included in the search results may not be returned, and the total number of returned records may be smaller than the original total number of results.