Interview Questions for PB
1. What is Inheritance?
· Inheritance is the ability for descendants to have all the functionality
of the parent object plus any of their own.
2. What is Encapsulation?
· An object having it's own events and methods in a single package
3. What is polymorphism?
· The ability for an object to act differently depending on it's environment
without having to re-program it.
4. What is the difference between Global, Instance, Shared and Local
variables?
The difference is in the scope:
Global
Accessible anywhere in the application. It is independent of any
object definition
Instance
Belongs to an object and is associated with an instance of that
object (you can think of it as a property of the object). Instance variables
have access keywords that determine whether scripts of other objects can
access them. Instance variables can belong to the application object, a
window, a user object, or a menu
Shared
Belongs to an object definition and exists across all instances of
the object. Shared variables retain their value when an object is closed and
opened again. Shared variables are always private. They are accessible only
in scripts for the object and for controls associated with the object.
Shared variables can belong to the application object, a window, a user
object, or a menu
Local
A temporary variable that is accessible only in the script in which
you define it. When the script is finished, the variable constant ceases to
exist
5. What is the difference between Public, Protected, and Private variables?
Access;
· Public is accessible by all
· Protected is accessible by that particular class (includes descendants)
· Private is accessible by the declaring object only
6. What is the difference between a system object and a user object?
System objects: The PowerBuilder system objects or classes are inherited
from a base class PowerObject. The system classes are the ancestors of all
the objects you define.
User objects: You can create user object class definitions in several
painters: Window, Menu, Application, Structure, and User Object painters.
The objects you define are inherited from one of the system classes or
another of your classes. Some painters use many classes. In the Window and
User Object painters, your main definition is inherited from the window or
user object class. The controls you use are also inherited from the system
class for that control.
7. What is a DataStore?
· A DataStore is a non-visual datawindow control
8. What are the advantages to using a DataStore?
· A DataStore is created dynamically when required and does not therefore
increase memory usage for the parent object.
9. What is the PFC?
· PowerBuilder Foundation Class - Class objects designed to speed and
simplify application production.
10. What is a service-based environment?
· Service based environment means that the majority of functionality is
created in non-visual objects that are instantiated as variables if
required. This allows for thin ancestors that can have as little or as much
functionality as desired.
11. What is an external function?
· An external function is a function that is not PowerBuilder specific. API
calls and Cobol programs would be examples.
12. How do you access/create an External function?
· You declare an external function (at whatever level is required) and then
access it as any other function (method)
13. What is a distributed application?
· An application that has components on both the client and server sides;
· The server side components are shared by all users having access to that
server.
14. What are the advantages and limitations of a distributed application?
· Allows for thin-clients
· Quick deploy of upgrades
15. What is a proxy object? How do you create one?
· Proxy objects are the client-side version of a server-side component.
· They are instantiations on the client side that allow server-side
component functionality to be accessed.
· They are created using the project painter
16. How do you create an executable?
· Using the project painter
17. Why do you need to do an Accept Text on a datawindow?
· To move information from the edit buffer to the datawindow primary buffer.
18. What is a datawindow?
· A graphical interpretation of an SQL statement
19. What is the difference between an event and a function?
· An event is triggered; a function is called
20. What different ways can you execute an SQL statement through
PowerBuilder?
· Stored Procedure
· Imbedded
· Datawindow (through DW/DS control)
21. How do you verify if an SQL statement was completed successfully?
· Check the SQL return code, contained in the transaction object.
22. What is a Commit? What is a Rollback?
· A commit commits the changes to the database (makes permanent); a
· Rollback reverses any database changes not committed.
23. Type of work done with PowerBuilder. (New apps, maintenance work,
modification work)
24. Type of software engineering methodology used (i.e.. Construction
process?, Deliverables(data models, object models)
25. Controls work with most? What have you done with them? Controls not
worked with.
26. What are you currently learning about in the field of software
engineering?
27. What are some of the characteristics of a well constructed application?
28. Have you used PFC? What services have you made use of?
29. What type of error checking strategies do you use or like in PB?
30. What are some important considerations regarding naming of functions,
classes, events, etc
31. Have you worked in a group? If so, what roles did you play?
32. Have you written stored procedures? If so, what databases? How did you
learn to write them?
33. If you are having trouble with some portion of an application, what do
you do to resolve it?
34. What tools do you make use of to learn an application that you are not
familiar with. For example, you have just been handed an error from a PB
application that you have never seen before; how do you start tracking it
down and resolving it?