CSE445 Total Study thing
What technique can be used to make sure that parallel withdrawals from ATMs cannot exceed the given limit of a bank account? A. Add a random delay before writing back the account balance. B. Execute the program on a single-processor computer. C. Make sure any single withdraw does not exceed a half of the limit. D. Implement a lock mechanism to prevent simultaneous access to the account object.
D. Implement a lock mechanism to prevent simultaneous access to the account object.
What is the proper way of creating a thread class if the class has already inherited members from another class? A. Define the thread supporting methods in the class B. Extend the library class Thread C. Enable the multiple inheritance feature D. Implement the Runnable Interface
D. Implement the Runnable Interface
How is a C# semaphore used for regulating the operating system's processes? A. Use unnamed semaphore in all processes. B. Use different semaphore names in all processes. C. Use different mutex names in all processes. D. Use the same semaphore name in all processes.
D. Use the same semaphore name in all processes.
Coordination events in C# are used for A. preventing any two processes (or threads) to access a shared resource simultaneously. B. preventing more processes (or threads) than permitted from accessing a pool of resources. C. replacing Mutex, because Mutex is not efficient in execution time. D. defining the order of execution among the threads.
D. defining the order of execution among the threads.
Which system-call in Unix operating system will copy the child process's code into the duplicate process? A. fork( ) B. wait( ) C. semaphore() D. execl( ) E. signal( )
D. execl( )
One of the impacts of SOA/SOC paradigm is that A. Software architecture and implementation are no longer differentiated. B. more programmer jobs will be available. C. Software engineers and programmers are no longer differentiated. D. more software engineer jobs will be available.
D. more software engineer jobs will be available.
A service is defined through a class. What WSDL element corresponds to the Web method name in the class? A. binding B. port C. portType D. operation
D. operation
The C# method lock( ) is used for synchronizing A. the entire class with multiple methods. B. threads without blocking parallel reading to the same object. C. the entire method only, similar to the synchronized method in Java. D. selected statements, similar to the synchronized statements in Java.
D. selected statements, similar to the synchronized statements in Java.
ebXML is a standard for A. service registry only. B. service repository only. C. service development and application building. D. service registry and service repository.
D. service registry and service repository.
It involves two operations to lock an object: test the value of a lock and set the value to "true" if the value is false. These two operations have A. to be translated into two machine instructions. B. to be synchronized to prevent simultaneous access. C. no requirement at the machine language level. D. to be done in a single instruction or two linked instructions.
D. to be done in a single instruction or two linked instructions.
What is the main function of the IIS worker process? What is the main function of the Web Administration Service (WAS) in IIS? Options: 1. Listening to the browsers. 2. Queuing and handling requests. 3. Register Web services and Web applications into the registry. 4. Executing Web services and Web applications as its threads. 5. Compile source code when it is accessed for the first time.
What is the main function of the IIS worker process? 3. Register Web services and Web applications into the registry. What is the main function of the Web Administration Service (WAS) in IIS? 4. Executing Web services and Web applications as its threads.
(1) What communication protocol is used for accessing RESTful services? Choose one [Q1]. (2) What communication protocol is directly used by the WSDL Web services for transferring data? Choose one [Q2]. (3) If you want to create a standard service broker with both service directory and service repository, what standard should be used? Choose one [Q3]. (4) What protocol in the Web services protocol stack is normally in the layer directly below the SOAP protocol? Choose one [Q4]. Options: A. ebXML B. HTTP C. IP D. SOAP E. TCP F. UDDI G. WSDL
[Q1] B. HTTP [Q2] D. SOAP [Q3] A. ebXML [Q4] B. HTTP
What are the key differences between a Remote Procedure Call (PRC) and a Web Service Invocation (WSI)? Select all that apply. 1. PRC is tightly couples; WSI is loosely coupled. 2. PRC is platform-dependent; WSI is platform-independent. 3. PRC uses one-way asynchronous communication; WSI uses two-way synchronous communication. 4. WSI is a special case of RPC.
1. PRC is tightly couples; WSI is loosely coupled. 2. PRC is platform-dependent; WSI is platform-independent.
The impacts of service-oriented computing include (select all that apply): 1. Programmers do not have to understand application domain. 2. Application builders do not have to understand application domain. 3. Few software engineers will be needed. 4. Shorter software development cycle.
1. Programmers do not have to understand application domain. 4. Shorter software development cycle.
What problems occurred in the first two attempts when scaling up the number of threads in the Collatz conjecture case study? Select all that apply. 1. The thread execution times were different, which reduced the benefit of parallel computing. 2. Extensive communications between the threads eliminated the benefit of parallel computing. 3. The impact of the data structures dominated the performance. 4. All the threads were allocated to the same core, resulting to single-core performance.
1. The thread execution times were different, which reduced the benefit of parallel computing. 3. The impact of the data structures dominated the performance.
In a distributed application with multiple threads, what techniques can be applied to increase the performance? Select all that apply. 1. Use non-blocking calls and callbacks for communication 2. Use blocking calls and wait for results. 3. Use a flat level of threads, instead of hierarchical layers of threads. 4. Use a pool of resource with semaphore, instead of a single cell with lock.
1. Use non-blocking calls and callbacks for communication 3. Use a flat level of threads, instead of hierarchical layers of threads. 4. Use a pool of resource with semaphore, instead of a single cell with lock
A C# delegate (Select all that apply) 1. allows the same method call to be associated with different method codes. 2. defines a semaphore for multiple threads. 3. allows a method name to be passed as a parameter. 4. creates proxy to be associated with a remote service.
1. allows the same method call to be associated with different method codes. 3. allows a method name to be passed as a parameter.
A thread in a distributed program (Select all correct answers) 1. is a piece of program being executed. 2. exists when the corresponding code is running. 3. exists once the hosting object is instantiated. 4. is a synonym of a method.
1. is a piece of program being executed. 2. exists when the corresponding code is running.
The process of application building in SOA style includes (Select all that apply): 1. process level specification 2. code-level assembling and binding of components 3. organizing services for easy searching 4. developing the code of each service
1. process level specification 2. code-level assembling and binding of components
What statements best describe the architecture-driven approach? Select all that apply. 1. top-down approach 2. bottom-up approach 3. generating class diagram directly from the code 4. elaborating the architecture design into executable
1. top-down approach 4. elaborating the architecture design into executable
In contrast to objects in object-oriented development, service-oriented development has these distinct features: (Select all that apply.) 1. A service always resides in the service broker. 2. A service has language-independent interface. 3. A proxy to the service is created in the application. 4. The executable code of the service is integrated into the application.
2. A service has language-independent interface. 3. A proxy to the service is created in the application.
Which of the followings are software architecture? Select all that apply. 1. Topology of interconnection 2. Blackboard architecture 3. SOAP over HTTP architecture 4. Pipe and filter architecture
2. Blackboard architecture 4. Pipe and filter architecture
Java Enterprise Edition (Java EE) applications are based on a 4-tier architecture, which includes (Select all that apply): 1. Ontology tier 2. Client tier 3. Business tier 4. SOAP tier
2. Client tier 3. Business tier
How can a client binds to a SOAP service? Select all that apply. 1. Dynamically using Download(URL) 2. Dynamically using DynamicProxyFactory(URL) 3. Statically using CreateProxy() 4. Statically using Add Service Reference
2. Dynamically using DynamicProxyFactory(URL) 4. Statically using Add Service Reference
What kinds of remotable objects exist in .Net environment? Select all that apply. 1. Marshal-by-delegate bag. 2. Marshal-by-reference objects. 3. Marshal-by-interface virtual object. 4. Marshal-by-value objects.
2. Marshal-by-reference objects. 4. Marshal-by-value objects.
What functions does WCF (Windows Communication Foundation) support? Select all that apply. 1. BPEL-based service composition 2. WS-* Specification 3. Interoperable Web services 4. Distributed Transactions
2. WS-* Specification 3. Interoperable Web services 4. Distributed Transactions
What is true about a deployed service with the Just-In-Time compilation? Select all that apply. 1. It is slower than a pre-compiled service for every request. 2. It needs to recompile and redeploy the entire project if any part of the code is modified. 3. It is slower than pre-compiled code for the first request. 4. The source code of the service can be redeployed while the service is being accessed.
3. It is slower than pre-compiled code for the first request. 4. The source code of the service can be redeployed while the service is being accessed.
The key ideas of Intel's Threading Building Blocks (TBB) library are to covert (Select all that apply) 1. method synchronization into statement synchronization. 2. HyperThreading programs into multi-core programs. 3. synchronous calls into asynchronous calls. 4. nested method calls into flat method calls.
3. synchronous calls into asynchronous calls. 4. nested method calls into flat method calls.
How is the synchronization mechanism implemented in a Java environment? A. A lock-bit in an object is set to "true" when a synchronized method accesses the object. B. An object is removed from the heap when a synchronized method accesses the object. C. The objects that can be accessed by a synchronized method reside in static memory. D. All of the above.
A. A lock-bit in an object is set to "true" when a synchronized method accesses the object.
How does a client bind to a RESTful service? A. Always dynamically B. Neither statically nor dynamically C. Always statically D. Both statically and dynamically
A. Always dynamically
What would happen if a "release" call is made when the semaphore count is at its max value? A. An exception will occur. B. The semaphore value will be increased by 1. C. The semaphore value will be decreased by 1. D. The calling thread is blocked.
A. An exception will occur.
What architecture is strictly a tiered architecture? A. Client-server architecture B. CORBA C. DCOM D. Enterprise Service Bus E. Service-oriented architecture
A. Client-server architecture
If you write a program to search a UDDI service broker, what UDDI pages do you search? A. Green Pages B. Yellow Pages C. White Pages D. Blue Pages
A. Green Pages
Compare and contrast livelock and deadlock. What statement is correct? A. In the case of deadlock, the resources are held. In the case of livelock, the resources are still free. B. Livelock is a deadlock-resolving technique. C. In the case of livelock, the resources are held. In the case of deadlock, the resources are still free. D. Livelock is a synonym of deadlock.
A. In the case of deadlock, the resources are held. In the case of livelock, the resources are still free.
What method in C# can be used if the calling thread does not want to be blocked, even if the object to be accessed is locked by another thread? A. Monitor.TryEnter(...); B. NonBlock.Enter(...); C. ReaderWriterLock(...); D. lock(...); E. Monitor.Enter(...);
A. Monitor.TryEnter(...);
Which of the following layers does not belong to the traditional three-tier architecture? A. Service repository B. Application processing C. Data management D. Presentation
A. Service repository
What is the main difference between the monitor pair (Monitor.Wait, Monitor.Pulse) and the coodination event pair (event.WaitOne, event.Set)? A. The monitor pair involves an object, while the coordination event pair does not. B. The monitor pair is used for putting a thread into Sleep state and waking it up. C. The coordination event pair involves an object, while the monitor pair does not. D. The monitor pair is used for coordinating the events with a process, while the coordination event pair is used for coordinating the events between operating processes.
A. The monitor pair involves an object, while the coordination event pair does not.
How is a new (child) process created in the Unix operating system programming environment? A. Use a system call fork( ), followed by a system call execvp(. . .). B. Use a system call copy( ), followed by a system call paste(. . . ). C. Use a system call execvp(. . .), followed by a system call fork( ). D. Call the start( ) method in the Thread class, followed by a call to fork().
A. Use a system call fork( ), followed by a system call execvp(. . .).
XML is A. a Meta language that can be used to define another language. B. a database programming language. C. a service-oriented programming language. D. an object-oriented programming language.
A. a Meta language that can be used to define another language.
Event-driven programming is typically implemented by A. a callback from the object or thread where the event is generated. B. periodic polling from the event service to the event client. C. indivisible instructions at the hardware level. D. a remote procedure call from the event client to the event service.
A. a callback from the object or thread where the event is generated.
If a method is prefixed with the keyword "synchronized", then A. all objects accessed by the method will be locked during the execution of the method. B. the method will send a message to another method. C. the execution of the method cannot be interrupted. D. the method will wait for receiving a message from another method.
A. all objects accessed by the method will be locked during the execution of the method.
Service-oriented software development achieves the platform-independent computing by A. creating service proxies in the application. B. using the same language for all parts. C. migrating service code to application site. D. integrating service code into the application.
A. creating service proxies in the application.
A thread A. exists when the corresponding code is running. B. is a string of characters. C. is a string of assembly code. D. exists after the corresponding code is compiled.
A. exists when the corresponding code is running.
If a higher priority thread occurs, A. it preempts the lower priority thread and then begins to execute. B. it pushes the lower priority thread into wait state and then begins to execute. C. it pushes the lower priority thread into blocked state and then begins to execute. D. it waits for the current thread to complete or expires and then begins to execute.
A. it preempts the lower priority thread and then begins to execute.
Two threads try to acquire the same resource at the same time and both are blocked. Then, they continually change their states in the same way and are continuously blocked. This condition is called A. livelock. B. deadlock. C. deadlock avoidance. D. starvation.
A. livelock.
A design pattern refers to A. software pattern B. platform independent design C. computing pattern D. architectural pattern
A. software pattern
The "businessEntity" data structure in UDDI contains information about A. the service provider, and it is called the White Pages of the UDDI. B. the services offered by the service provider, and it is called the Yellow Pages of the UDDI. C. the technical details of services, and it is called Green Pages of the UDDI. D. All of the above.
A. the service provider, and it is called the White Pages of the UDDI.
A deadlock can occur in a multithreading program, if A. there exist two threads that require to lock two objects. B. every thread requires to lock an object. C. there exist one thread that requires to lock two objects or more objects. D. there are two threads that requires to access the same coordination event.
A. there exist two threads that require to lock two objects.
What law you should use in evaluating the system performance improvement if you have doubled the processor speed, but kept the other parts of the system unchanged? A. Moore's Law B. Amdahl's Law C. Colletz conjecture D. Gustafson's Law
B. Amdahl's Law
When designing a computer system, if you focus on improving one part of the system without you modifying the other part, the best performance law you can use is: A. Gustafson's Law B. Amdahl's Law C. Moor's Law D. Newton's Law of Motion
B. Amdahl's Law
What architecture model does not belong to the families of the distributed object architectures implemented in CORBA or DCOM? A. ORB (Object Request Broker) B. ESB (Enterprise Service Bus) C. Networked OLE (Object Linking and Embedding) D. COM (Component Object Model)
B. ESB (Enterprise Service Bus)
What entity does not belong to the three-party model of SOC software development? A. application builder B. End user of software C. Service broker D. Service provider
B. End user of software
How can the data stored in ViewState variable of one page be accessed by another page? A. Use page to page direct post. B. First post it back to server and then send it to the other page. C. There is no way for a page to access the ViewState variable of another page. D. The ViewState is automatically available in all pages of an application.
B. First post it back to server and then send it to the other page.
When calling a RESTful service, the required communication protocol is A. UDDI B. HTTP C. WSDL D. SOAP
B. HTTP
What is the standard language in CORBA that is used for defining the interface between distributed objects? A. Java B. IDL C. HTML D. WSDL
B. IDL
Java Remote Method Invocation (RMI) is used to create distributed applications using A. ORB (Object Request Broker) stub B. Marshal-by-reference C. Marshal-by-value D. SOAP invocation
B. Marshal-by-reference
Given a piece of code: int x =2; Monitor.Enter(x); try {x = x+1;} finally {Monitor.Exit(x);} What will happen? A. A run time error (exception) will occur because Monitor.Enter expects an object type variable. B. No error will occur, but Montor.Enter method does not protect variable x at all. C. No error will occur, and variable x is protected by Montor.Enter method. D. A compilation error will occur because Monitor.Enter expects an object type variable.
B. No error will occur, but Montor.Enter method does not protect variable x at all.
Can Monitor.Enter(v) lock the variable v if v is of integer type? A. No, a syntax error will occur if one uses Monitor.Enter(v). B. No, Monitor.Enter(v) cannot directly lock the variables of value-type. C. Yes, Monitor.Enter(v) is designed to lock value-type variables only. D. Yes, Monitor.Enter(v) can directly lock any type of variables.
B. No, Monitor.Enter(v) cannot directly lock the variables of value-type.
What would happen if a "WaitOne" request is called when the semaphore value is zero? A. An exception will occur. B. The calling thread will be blocked. C. The semaphore value will be incremented. D. The semaphore value will be decremented.
B. The calling thread will be blocked.
Which of the following components in a Java SOC development environment is responsible for hosting the execution of a Web service? A. Java programming language itself B. Tomcat C. Eclipse programming environment D. Axis2
B. Tomcat
BPEL is primarily A. a specification language at a component / architecture level. B. a specification language at a process/workflow level. C. a language that describes the communication protocol between business process and Web services. D. an object-oriented programming language. E. a language that is used for defining the interface between business process and Web services.
B. a specification language at a process/workflow level.
Multi tenancy is a key concept in A. federation of servers B. cloud computing C. virtualization of servers D. client-server systems
B. cloud computing
Web Service Description Language (WSDL) is used for A. composing applications using existing services. B. defining the interface of services. C. writing the executable code of services. D. describing communication protocols between services.
B. defining the interface of services.
In a multithreading implementation of the Collatz conjecture, the efficiency exceeds 100%. The reason is the use of A. more cores than permitted. B. different array sizes in different threads. C. uneven partition of input numbers. D. better algorithms.
B. different array sizes in different threads.
Where does the database normally reside in the fat-client (of client-server) architecture? A. the architecture does not support database B. in the server layer C. in the client layer D. in a separate data management layer
B. in the server layer
The binding template in UDDI A. allows one service provider to be linked to another service provider. B. links a businessService in UDDI to an implementation of the service. C. links the businessEntity to the list of services provided by the business. D. contains (hosts) the executable code of a businessService.
B. links a businessService in UDDI to an implementation of the service.
Ethernet's binary exponential backoff mechanism is a technique used for avoiding A. deadlock. B. livelock. C. resource double booking. D. starvation.
B. livelock.
In service-oriented computing, the building blocks of software systems are services, which are A. always stored in a service broker. B. loosely coupled. C. always developed by the application builder. D. tightly coupled.
B. loosely coupled.
What does the "operation" in a WSDL file correspond to in object-oriented computing? A. class B. method C. parameter D. return value
B. method
In Distributed Object Architecture, what component is called the software bus? A. communication protocols SOAP/HTTP B. object request broker C. a pair of distributed objects D. enterprise service bus
B. object request broker
UDDI is primarily a standard for A. service registry and service repository. B. service registry only. C. service repository only. D. service development and application building.
B. service registry only.
What state does not rely on an external event to put a Java thread back into the ready state? A. "waiting" state. B. "blocked" state. C. "sleep" state. D. "terminated" state.
C. "sleep" state.
Compare and contrast wait( ) and sleep(t) methods defined in the library class Thread. A. wait() and sleep(t) must be used in pair. B. wait() does not have a parameter, and thus it will cause the calling thread to sleep a fixed amount of time. C. A thread in the wait state cannot return to the ready state unless another thread issues a notification. D. A thread in the sleep state needs to be waked up by another thread.
C. A thread in the wait state cannot return to the ready state unless another thread issues a notification.
What system is truly based on a vendor-independent standard? A. J2EE B. DCOM C. Enterprise Service Bus (ESB) D. CORBA
C. Enterprise Service Bus (ESB)
When designing a computer system, if you improve one part of the system, and you also impove the other parts proportionally, the best performance law you can use is: A. Moor's Law B. Newton's Law of Motion C. Gustafson's Law D. Amdahl's Law
C. Gustafson's Law
What is the common interface language used in CORBA to facilitate the communication among objects written in different programming languages? A. Java Script B. OLE C. IDL D. C++
C. IDL
What method in the C# is used to move one thread from the "wait" state to the "ready" state? A. Monitor.Wake(...); B. Unlock.Notify(...); C. Monitor.Pulse(...); D. Monitor.Wait(...); E. Monitor.Notify(...);
C. Monitor.Pulse(...);
What does the C# method Monitor.PulseAll() do? A. Move all threads into waiting state. B. Move one thread in waiting state into ready state. C. Move all threads in waiting state into ready state. D. Move one thread into waiting state.
C. Move all threads in waiting state into ready state.
What is a major difference between object-oriented development and service-oriented development? A. Java vs. C# B. CORBA vs. ESB C. One development cycle vs. three development parallel cycles D. Static binding vs. dynamic binding
C. One development cycle vs. three development parallel cycles
What is the unique feature of service-oriented computing paradigm that does not exist in other computing paradigms? A. resource sharing B. reasoning C. platform-independent D. stateless
C. Platform-Independent
What protocol is normally used for transferring data between Web services? A. UDDI B. WSDL C. SOAP D. XML
C. SOAP
What step is NOT in the process of application building in SOA style? A. Architecture specification. B. Workflow specification. C. Service implementation. D. Deployment. E. Management
C. Service implementation.
What is NOT be included in a service proxy? A. Parameter list of the remote method. B. Method name of the remote method. C. Source code of the remote method. D. Return type of the remote method.
C. Source code of the remote method.
What is the efficiency of a multi-core computer? A. ExecutionTime / NumberOfCores B. Speedup/ClockRate C. Speedup / NumberOfCores D. Speedup / ExecutionTime
C. Speedup / NumberOfCores
Event-driven programming is based on the assumption that the there A. is a real-time computing engine in the system. B. is a single processor in the system. C. are multiple processors in the system. D. is a fast polling mechanism in the system.
C. are multiple processors in the system.
Intel's HyperThreading design duplicates A. the integer and float ALUs in the processor. B. the entire processor. C. control unit in the processor. D. no hardware.
C. control unit in the processor.
What architecture best supports integration based on code migration? A. service-oriented architecture B. object-oriented architecture C. distributed object architecture D. client-server architecture
C. distributed object architecture
The lock(...) method in C# does not need to use try-finally exception handling, because A. the lock(...) method is used for read-only. B. the lock(...) method is used for write-only. C. exception handling is implied. D. an exception can never happen if lock(...) method is used.
C. exception handling is implied.
The key function of AJAX programming is to allow A. browser-independent computing. B. executing C# program in html page. C. partial data refreshing and making the Web page more responsive. D. executing Java program in html page.
C. partial data refreshing and making the Web page more responsive.
The design pattern specifically deals with the problems of A. efficiency of algorithms. B. programming language selection. C. reusable solution at the level of software design. D. architecture style of software development.
C. reusable solution at the level of software design.
The C# monitor class's methods Monitor.Enter and Monitor.Exit can be used for A. synchronizing the entire method without specifying the object, similar to the synchronized method in Java. B. making sure the enclosed block of code cannot be interrupted. C. synchronizing a set of statements, similar to the synchronized statements in Java. D. synchronizing the entire class with multiple methods.
C. synchronizing a set of statements, similar to the synchronized statements in Java.
How is the monitor mechanism implemented in C#? A. A single lock bit is used in those heap objects to store the lock status that will be accessed by a synchronized (monitored) statement. B. A single lock bit is used in every heap object to store the lock status. C. A pointer to a method table is stored and used to access the table of all the methods that are synchronized (monitored). D. A SyncBlock index is stored in every object, and the index is used to access the corresponding entry of the SyncBlock table.
D. A SyncBlock index is stored in every object, and the index is used to access the corresponding entry of the SyncBlock table.