Abstractions Flashcards

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

What is a remote procedure call (RPC)?

A

An RPC is an interprocess communication protocol widely used in distributed systems.

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

In which layers of the OSI model does RPC operate?

A

RPC spans the transport and application layers.

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

What does RPC hide from developers?

A

RPC hides the complexities of packing and sending function arguments to the remote server, receiving return values, and managing network retries.

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

How does the RPC mechanism work?

A

The calling environment is paused, parameters are sent over the network, and results are returned to resume execution.

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

What are the five main components involved in an RPC program?

A
  • Client
  • Client stub
  • RPC runtime (client side)
  • Server
  • Server stub
  • RPC runtime (server side)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is the role of the client stub in an RPC?

A

The client stub converts parameters into a standardized format and packs them into a message.

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

What does the RPC runtime at the client do?

A

It delivers the message to the server over the network and waits for the result.

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

What is the responsibility of the server stub in the RPC process?

A

The server stub unpacks the message, extracts parameters, and calls the desired server routine.

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

What happens after the server routine is executed?

A

The result is returned to the server stub, packed into a message, and sent back to the client.

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

What is a key advantage of using RPC in back-end services?

A

RPC provides high performance and a simple abstraction of calling remote code as local functions.

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

What open-source framework has Google developed that uses RPC?

A

gRPC.

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

How does Uber utilize RPC?

A

Uber uses RPC for real-time location tracking, ride matching, and communication between drivers and riders.

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

What technology does Facebook use for RPC?

A

Facebook uses Thrift for RPC.

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

Fill in the blank: The RPC method is similar to calling a local procedure, except that the called procedure is usually executed in a _______.

A

[different process and on a different computer]

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

What is the main benefit of using RPC for developers?

A

Developers can focus on design aspects instead of network communication details.

17
Q

True or False: RPC allows for interoperability between different programming languages.

18
Q

workflow of RPC