INTERVIEW QUESTIONS ON DISTRIBUTED SYSTEMS
INTERVIEW QUESTIONS
1. Why would you design a system as a distributed system? List some advantages of distributed systems.
2. List some disadvantages or problems of distributed systems that local only systems do not show (or at least not so strong)
3. List three properties of distributed systems
4. Give a definition of middleware and show in a small diagram where it is positioned.
5. What is the transparency dogma in distributed systems middleware and what is wrong with it?
6. What is a Single-point-of-failure and how can distribution help here?
7. What kind of reliable connection is provided by a tcp/ip based socket? Is this reliability enough for distributed calls or when does it break down?
8. What are the delivery guarantees with: best effort, at least once, at most once. Which one is mostly used in distributed systems?
9. What is the advantage if your server side processing uses threads instead of a single process?
10. What is the problem behind keeping state for a client on a server?
11. What is a proxy? Give an example of where a proxy can be used.
12. What are the differences between a local call and a remote call?
13. What are stub and skeleton and why are they needed in remote prodecure calls?
14. Explain "call by reference" vs. "call by value".
15. How does so called marshalling solve the problem of different byte ordering of sender and receiver?
16. Is appending characters to a file an idempotent operation?
17. What is the purpose of a portmapper?
18. Explain the concept of an object reference in a distributed system. Why do remote objects need one and who creates it?
19. What is the purpose of an Interface Definition Language? Why does CORBA not just use the Java interface construct?
20. Remote objects built with Java RMI are usually registered in a so called "registry". Why?
21. List several ways to invoke a method on a remote object
22. How does a server know that one of his remote objects provided by him is no longer used by clients and can be collected? How does Java RMI handle this problem and what alternatives are there?
23. Activation is a technology used to load remote objects into a server on demand (i.e. when a client invokes a method on this object. Explain why this is much better than pre-loading remote objects?
24. What services are frequently provided by distributed systems middleware and what is their function?
25. What is the difference between functional and non-functional requirements? Which one is usually overlooked and causes the biggest problems later?
26. What kind of naming services do you know? Why do distributed systems need this function?
27. Why do you need a locking service in distributed systems? What kind of problems does a locking service prevent?
28. What is a distributed deadlock and why are they hard to detect?
29. List three of the eight fallacies of distributed computing? Why are they fallacies?
30. De-activation is a technology used to preserve server resources where a server which provides remote objects to clients can de-activate those remote objects, e.g. if they haven't been used for a while. Clients should not know about this. What must the server do to avoid surprises for the clients?
31. A distributed persistent object has two identities (a row in a database e.g. and an identity as a remote object e.g. in an Object Request Broker. Where would you hold these two identities?
32. Two remote objects are related and should be updated in one operation. What kind of service do you need for this if you assume that both objects can be on different systems and that multiple operations can happen concurrently?
33. Explain distributed 2-phase commit. Why is it called a voting algorithm?
34. What happens during a flat transaction if one of the participants calls for a rollback?
35. What is the core problem of passwords and why are they even worse in distributed systems
36. What is a distributed denial-of-service attack and how does it work?
37. What is the big advantage of public key mechanisms in distributed systems?
38. You receive a public key certificate from a caller. What should you do to verify this certificate?
39. Which web mechanism is used to combine data about a specific user across different web sites?
40. What is end-to-end security in distributed systems? Is this a problem with e.g. e-mail?
41. What is the purpose of a firewall?
42. You want to send mail anonymously. What infrastructure can you use? How does it work?
43. What were the reasons that middleware moved from distributed objects to distributed components?
44. List some features of components. If you have a software company - why would building components be an interesting idea?
45. Component technology separates business logic from infrastructure like security, transactions etc. The infrastructure services are nowadays provided automatically by tools in combination with runtime containers. Why?
46. Enterprise Java Beans distinguishes stateful and stateless beans. Which ones scale better?
47. Enterprise Java Beans has a so called "deployment descriptor" which contains a lot of configuration information. It says descriptively what transaction behavior is required by the component, security roles defined by the component and if the component want the container to store data or whether the component wants to do this by itself. Now, why does EJB put those informations into a descriptor instead of the component code?
48. Enterprise Java Beans introduced so called "local interfaces" in version 2.0. Before that every enterprise java bean object was a remote object. Now two EJBs residing in one VM can talk to each other through local interfaces. Why did EJBs add those local interface?
49. Modern component technology is organized after two meta-design patterns: Separation of concerns and separation of context. Can you explain what gets separated and why?
50. Applications used to be single images which were installed locally on machines and which were largely self-contained. Distributed objects and components changed this radically and introduced a lot of new problems. Explain which problems are new with distributed objects or components.
51. Components should be "black boxes" for their clients. Clients should only know interfaces to be independent of changes in the implementations. Is this abstraction useful for distributed system management or does it need to know more about internals?
52. Distributed System Management relies on an information model of those systems. List some items which need to be in this information model.
53. List services a distributed management package needs to provide.
54. Name two mechanisms that can be used to ensure performance in distributed systems
55. List some architectures that you need to define for distributed systems
56. Why is extreme testing a part of necessary architectural validation of your design? What can happen if you delay it until the end of development?
57. Do web services have something similiar to a naming service? And to an Interface Definition Language?
58. Web services use an XML based protocol (SOAP) to send requests and responses. What are the advantages and disadvantages of using XML for remote calls?
59. Web Services are said to be "firewall friendly" because they can pass through most firewalls. Why can they do this? Why can't CORBA, dcom or RMI do this? Is this technically justified?
60. The best practices for the use of web services across the internet reflect a lot of common sense for distributed applications. What was recommended?
61. How can peers locate other peers?
62. Some p2p systems use a central server. What are the advantages and disadvantages of this architecture?
63. Some p2p systems avoid central servers completely. What are the advantages and disadvantages of this architecture?
64. What does the term "edge of the internet" mean?
65. What are the differences between a URL, URI and URN?
66. What are the basic operations behind the WWW, a tuple-space, a wikiwiki? Pick one and compare it to a remote procedure mechanism used to build some application
Thanks for reading INTERVIEW QUESTIONS ON DISTRIBUTED SYSTEMS
i need answer to question number 57, 58 and 59
ReplyDeletei need answer to question number 34,35 and 36
ReplyDelete