---
tags: Linkedin-skill
disqus: HackMD
---
# NoSQL Test
## NoSQL
#### Q1. Which types of indexes are available in CosmosDB?
- [x] range and spatial
- [ ] secondary and primary key
- [ ] secondary and spatial
- [ ] range and primary key
#### Q2. You want to connect a DynamoDB stream to AWS Lambda function. Which one of these object do you create?
- [ ] DynamoDB table
- [x] DynamoDB trigger
- [ ] DynamoDB item
- [ ] DynamoDB index
#### Q3. To index a field that holds an array value in MongoDB, which index type do you create?
- [ ] partial
- [ ] sparse
- [ ] compound
- [x] multikey
#### Q4. You want to test HBASE on your laptop using the fewest number of steps. What do you do?
- [ ] Set up Hadoop in pseudo-distributed mode.
- [x] Set up HBASE in local mode.
- [ ] Set up HBASE in pseudo-distributed mode.
- [ ] Set up Hadoop in local mode.
#### Q5. You need to create a document database that supports database triggers. Which NoSQL database should you use?
- [x] DynamoDB
- [ ] BigTable
- [ ] Redis
- [ ] MongoDB
#### Q6. What is recommended size for Redis keys?
- [ ] medium
- [x] short
- [ ] single bit
- [ ] long
#### Q7. What does Redis use to sort the elements of a sorted set?
- [x] Scores
- [ ] Ids
- [ ] Values
- [ ] Keys
#### Q8. You need to change the shard key of an existing MongoDB collection. What do you do?
- [ ] Dump the collection data, drop the collection, create a new collection and shard key, import the data.
- [ ] Add second shard key and drop the first shard key.
- [x] Dump the collection data, drop the collection, presplit the data, create a new collection and shard key, import the data.
- [ ] Drop and recreate the shard key.
#### Q9. Polyglot storage means using multiple types of what in the same application?
- [ ] Security systems
- [ ] Database systems
- [x] Storage systems
- [ ] Query systems
#### Q10. You need to implement the simplest possible scalable, in-memory cache for your AWS application. Which service do you select?
- [ ] Elasticache using Memcached.
- [ ] DynamoDB.
- [ ] DynamoDB Accelerator (DAX).
- [x] Elasticache using Redis.
#### Q11. You are doing data modelling for Google BigTable. Which statement expresses if and when you should split entities across multiple rows?
- [ ] Keep all information for an entity in a single row. Store related entities in adjacent rows.
- [ ] Keep all information for an entity in a single row.
- [ ] Split entities across multiple rows if the entity data is over thousands of MBs, or if it does not need atomic updates and reads.
- [x] Split entities across multiple rows if the entity data is over hundreds of MBs, or if it does not need atomic updates and reads.
#### Q12. Which two characteristics define Amazon Quantum Ledger Database?
- [ ] Key-value data model; transactionally consistent with ACID semantics.
- [x] Document data model; transactionally consistent with ACID semantics.
- [ ] Key-value data model; transactions with tunable consistency.
- [ ] Document data model; transactions with tunable consistency.
#### Q13. You need to design the primary key for DynamoDB based on three attributes. What do you do?
- [ ] Designate all three fields as the primary key.
- [x] Concatenate all three fields into one new field, then designate that new field as the primary key.
- [ ] Designate two fields of the three fields as the primary key.
- [ ] Concatenate two fields into one new field, then designate that new field and the remaining field as the primary key.
#### Q14. Which of these data types should you avoid in designing a Google Bigtable row key?
- [ ] multi-valued identifiers
- [ ] string identifiers
- [ ] timestamps
- [x] frequently updated identifiers
#### Q15. Your startup is building a prototype that has an evolving schema. Your data will be eventually consistent. Your application is hosted in AWS. Which database do you choose?
- [ ] Neptune
- [ ] DocumentDB
- [x] DynamoDB
- [ ] Amazon Aurora
#### Q16. You need to create a scalable database that allows you to share documents across authorized mobile clients in real time. What Google NoSQL database should you use?
- [ ] Memorystore
- [ ] Datastore
- [x] Firebase
- [ ] Bigtable
#### Q17. You need to design security for DynamoDB to allow users read-only access to certain items and attributes in a table. What do you do?
- [ ] Use IAM roles.
- [x] Use IAM policy conditions.
- [ ] Use a VPC endpoint.
- [ ] Use IAM policies.
#### Q18. Which statement is preferred Cypher code for Neo4j?
- [ ] MATCH (:Person)-->(:Card)-->(:Company) RETURN count(vehicle)
- [ ] Match (:Person)-->(:Car):(vehicle:Car)-->(:Company) RETURN count(vehicle)
- [x] MATCH (:Person)-->(vehicle:Car)-->(:Company) RETURN count(vehicle)
- [ ] MATCH (:Person)-->(:Card), (vehicle:Car)-->(:Company) RETURN count(vehicle)
#### Q19. You need multi-item ACID transactions with snapshot isolation within a partition for your cloud-based application. Which NoSQL databse do you choose?
- [ ] Bigtable
- [ ] GraphDB
- [ ] DynamoDB
- [x] Cosmos DB
#### Q20. You need to control your application's batch updates destination for your Bigtable multinode cluster. Which action do you take?
- [ ] Create a custom app profile to route batch updates.
- [ ] Create a custom app profile to route the batch update from that client.
- [x] Update the default app profile to route the natch update from that client.
- [ ] Use the default app profile to route batch updates.
#### Q21. Your query to verify that your Redis key is configured to support expiring user information on a defined interval returns -2, What does this value indicate?
- [ ] The queried key value expired in the last two seconds.
- [ ] The queried key value exists, but has no associated expire value.
- [x] The queried key value does not exist.
- [ ] There are two expired keys with this value.
#### Q22. You are designing a MongoDB schema to support queries that will include lookups. What should you do?
- [ ] Create an index on the key value used as the primary key.
- [ ] Create an index on the key value used as the foreign key.
- [x] Create a multicolumn index on the key value used as the foreign key and the most unique column in the document.
- [ ] Create a multicolumn index on the key value used as the primary and also the foreign key.
#### Q23. What is the aggregation operator for a join concept in MongoDB?
- [ ] \$group
- [ ] \$match
- [x] \$lookup
- [ ] \$project
#### Q24. For your mobile application, you need to select a Google cloud database that can support compound, filtered document queries. Which do you choose?
- [ ] Cloud SQL
- [ ] Cloud Spanner
- [x] Cloud Firestore
- [ ] Cloud Firebase
#### Q25. To bulk load data into Amazon Neptune, what do you do?
- [x] Upload data to S3 VPC endpoint, Use the Neptune loader to load from s3 into your Neptune instance
- [ ] Ad data to a Kinesis stream, and use the Neptune loader to load from S# into your Neptune instance.
- [ ] Add data to a Kinesis stream, and create a Kinesis stream VPC endpoint. Use the Neptune loader to load from S3 into your Neptune instance.
- [ ] Upload data to S Use the Neptune loader to load from S3 into your Neptune instance.
#### Q26. You need to create a pub/sub server. Which database do you use?
- [ ] Neo4j
- [ ] Cassandra
- [x] Redis
- [ ] MyS#### QL
#### Q27. SQL databases and NoSQL are which types of scalable?
- [ ] horizontally, infinitely
- [x] vertically, horizontally
- [ ] vertically, infinitely
- [ ] horizontally, vertically
#### Q28. You need to create a scalable database that allows you to query data nodes and edges efficiently. What do you use?
- [ ] a relational database
- [ ] a columnstore database
- [ ] a document database
- [x] a graph database
#### Q29. You are developing a model for a graph database. Your data will be moved from a relational database into Neo4j. Which of these transformations apply?
- [ ] Rows become labels: bales become nodes.
- [x] Tables become labels: rows become nodes.
- [ ] Tables become collections: rows become items.
- [ ] Rows become collections: tables become items.
#### Q30. You need to execute a command for MongoDB that does NOT load values from the `.mongorc.js` file. What do you do ?
- [ ] Delete the .monorc.js file and restart mongo shell.
- [ ] Use the mongo shell to create a command with --norc option
- [ ] Rem all lines in the .mongorc.js file ad restart mongo shell.
- [x] Use the mongo shell to create a command with --nodedefault option.
#### Q31. You need to store an unordered collection of name-value pairs with differing data types in DynamoDB. Which data type should you choose?
- [x] map
- [ ] set
- [ ] list
- [ ] stack
#### Q32. Which statement retrieves an item from the MusicCollection table in DynamoDB?
- [ ] aws dynamodb query --table-name MusicCollection --key file://key.json
- [x] aws dynamodb get-item --table-name MusicCollection --key file://key.json
- [ ] aws dynamodb select --table-name MusicCollection --key file://key.json
- [ ] aws dynamodb put-item --table-name MusicCollection --key file://key.json
#### Q33. Database availability is measured by which metric?
- [ ] the amount of service calls
- [ ] the number of minutes
- [ ] the amount of service costs
- [x] the number of nines
#### Q34. You need to encrypt data at rest in DynamoDB. Which action do you take?
- [ ] You assign a default AWS encryption key to your table to encrypt data.
- [ ] You create an AWS encryption key and assign it to your table to encrypt data.
- [x] None. Data is encrypted by default.
- [ ] You create an AWS encryption key and assign it to your database to encrypt data.
#### Q35. You need to generate a unique, sequential identifier for each value stored in a Redis cluster. What do you do?
- [ ] Implement a SortedSet object to generate a value.
- [ ] Use the GUID keyword to generate a value.
- [ ] Implement a List object to generate a value.
- [x] Use the INCR keyword to generate a value
#### Q36. You want to return a list of all elements in two Redis sets. Which keyword do you use?
- [x] smembers
- [ ] returnall
- [ ] sunion
- [ ] sismember
#### Q37. Which method shows you whether MongoDB uses any indexes when running a query, and how the indexes are used?
- [ ] detailQueryExecution()
- [ ] showPlan()
- [x] explain()
- [ ] describe()
#### Q38. Which statement accurately describes global secondary indexes in DynamoDB?
- [ ] The global secondary indexes in DynamoDB are consistent, and are not guaranteed to return correct results.
- [ ] The global secondary indexes in DynamoDB are transactionally consistent, and are guaranteed to return correct results.
- [ ] The global secondary indexes in DynamoDB are partially consistent, and are not guaranteed to return correct results.
- [x] The global secondary indexes in DynamoDB are eventually consistent, and are not guaranteed to return correct results.
[reference link:](https://stackoverflow.com/questions/35414372/dynamodb-consistent-reads-for-global-secondary-index)
#### Q39. Which command do you use to add a value to a Redis stream named mystream?
- [ ] ADD mystream \* sensor-id 1234 temperature 19.8 1518951480106-1
- [ ] UPDATE mystream \* sensor-id 1234 temperature 19.8 1518951480106-3
- [x] XADD mystream \* sensor-id 1234 temperature 9.8 1518951480106-0
- [ ] INSERT mystream \* sensor-d 1234 temperature 19.8 15181480106-2
#### Q40. Which code example completes this statement and creates an index for a MongoDB object named restaurants, sorted ascending by the field name?
```
var indexCollection = function(db) {return co(function*() {...});};
```
- [ ] `const results = yield db.table('restaurants').createIndex({"name": 1}, null); return results;`
- [ ] `const results = yield db.collection('restaurants').createIndex({"name": 0}, null); return results;`
- [x] `const results = yield db.collection('restaurants').createIndex({"name": 1}, null); return results;`
- [ ] `const results = yield db.table('restaurants').createIndex({"name": 0}, null); return results;`
#### Q41. Which Cypher code executes the multiquery block?
- [ ] A
```
MATCH (c:Company {name: 'Neo4j'}) RETURN c, MATCH (p:Person) WHERE p.name = 'Jennifer' RETURN p,
MATCH (t:Technology)-[:LIKES]-(a:Person {name: 'Jennifer'}) RETURN t.type;
```
- [ ] B
```
MATCH (c:Company {name: 'Neo4j'}) RETURN c, MATCH (p:Person) WHERE p.name = 'Jennifer' RETURN p,
MATCH (t:Technology)-[:LIKES]-(a:Person {name: 'Jennifer'}) RETURN t.type
```
- [ ] C
```
MATCH (c:Company {name: 'Neo4j'}) RETURN c AND MATCH (p:Person) WHERE p.name = 'Jennifer' RETURN p,
AND MATCH (t:Technology)-[:LIKES]-(a:Person {name: 'Jennifer'}) RETURN t.type;
```
- [ ] D
```
MATCH (c:Company {name: 'Neo4j'}) RETURN c;MATCH (p:Person) WHERE p.name = 'Jennifer' RETURN p;
MATCH (t:Technology)-[:LIKES]-(a:Person {name: 'Jennifer'}) RETURN t.type;
```
#### Q42. You need to create a scalable database that supports immutable writes. What do you use?
- [x] A ledger database
- [ ] A graph database
- [ ] A key-value database
- [ ] A columnstore database
#### Q43. You need to create a data store for the catalog for your new ecommerce application. Your company is a startup, so the catalog schema may evolve. Which do you choose?
- [ ] Neo4j
- [ ] Redis
- [ ] MySQL
- [x] MongoDB
#### Q44. You need to select a NoSQL database for heavy aggregate query workloads. Which type do you choose?
- [ ] graph
- [ ] key-value
- [ ] document
- [x] columnstore
#### Q45. You need to select a columnstore database that enforce built-in data types. You want to add indexes to improve performance for known workloads. Which do you choose?
- [ ] Cassandra
- [ ] Bigtable
- [x] Redis
- [ ] HBase
#### Q46. In DynamoDB, the partition key and sort key are also known as which type of attributes?
- [ ] range, hash
- [ ] primary, range
- [x] hash, range
- [ ] range, secondary
#### Q47. What is a popular, open-source key-value store database?
- [ ] MongoDB
- [x] Redis
- [ ] MySQL
- [ ] Cassandra
#### Q48. You need to create a scalable database to store and query JSON data. What do you use?
- [ ] a relational database
- [x] a document database
- [ ] a graph database
- [ ] a ledger database
[store and query JSON](https://aws.amazon.com/nosql/document/#:~:text=The%20document%20database%20defined,use%20in%20their%20application%20code.)