iSOFT Sample Technical Placement Paper

download iSOFT Sample Technical Placement Paper

of 11

Transcript of iSOFT Sample Technical Placement Paper

  • 7/28/2019 iSOFT Sample Technical Placement Paper

    1/11

    Visit www.latestoffcampus.com for placement papers, interview tips & job updates. Toget

    freeupdates tomail http://groups.google.com/group/latestoffcampus/subscribeLive updates on

    Facebook @ www.facebook.com/LatestOffCampus

    Visit www.latestoffcampus.com for placement papers, interview tips & job updates. Toget

    freeupdates tomail http://groups.google.com/group/latestoffcampus/subscribeLive updates on

    Facebook @ www.facebook.com/LatestOffCampus

    iSOFT Technical Latest Sample Placement Paper

    1. What is a Real-Time System?

    ANS: A real time process is a process that must respond to the events

    within a certain time period. A real time operating system is an

    operating system that can run real time processes successfully.

    2.What is multiple inheritance (virtual inheritance)? What are its

    advantages and disadvantages?

    ANS: Multiple Inheritance is the process whereby a child can be derived

    from more than one parent class. The advantage of multiple

    inheritance is that it allows a class to inherit the functionality of morethan one base class thus allowing for modeling of complex

    relationships.

    The disadvantage of multiple inheritance is that it can lead to a lot of

    confusion (ambiguity) when two base classes implement a method with

    the same name.

    3. What is a Safe State and what is its use in deadlock avoidance?

    ANS: When a process requests an available resource, system must

    decide if immediate allocation leaves the system in a safe state. Systemis in safe state if there exists a safe sequence of all processes. Deadlock

    Avoidance: ensure that a system will never enter an unsafe state.

    4.What a derived class inherits or doesn't inherit?

    ANS: Inherits: Every data member defined in the parent class (although

    such members may not always be accessible in the derived class!)

    Every ordinary member functions of the parent class (although such

    members may not always be accessible in the derived class!)The same initial data layout as the base class. Doesn't Inherit :

    The base class's constructors and destructor. The base class's

    assignment operator.

    The base class's friends.

  • 7/28/2019 iSOFT Sample Technical Placement Paper

    2/11

    Visit www.latestoffcampus.com for placement papers, interview tips & job updates. Toget

    freeupdates tomail http://groups.google.com/group/latestoffcampus/subscribeLive updates on

    Facebook @ www.facebook.com/LatestOffCampus

    Visit www.latestoffcampus.com for placement papers, interview tips & job updates. Toget

    freeupdates tomail http://groups.google.com/group/latestoffcampus/subscribeLive updates on

    Facebook @ www.facebook.com/LatestOffCampus

    5. What is cache memory?

    ANS: Cache memory is random access memory (RAM) that a computer

    microprocessor can access more quickly than it can access regular RAM.As the microprocessor processes data, it looks first in the cache

    memory and if it finds the data there (from a previous reading of data),

    it does not have to do the more time-consuming reading of data from

    larger memory.

    6.When should you use multiple inheritance?

    ANS: There are three acceptable answers:- "Never, Rarely," and

    "When the problem domain cannot be accurately modeled any other

    way." Consider an Asset class, Building class, Vehicle class, and

    CompanyCar class. All company cars are vehicles. Some company cars

    are assets because the organizations own them. Others might be

    leased. Not all assets are vehicles. Money accounts are assets. Real

    estate holdings are assets. Some real estate holdings are buildings. Not

    all buildings are assets. Ad infinitum. When you diagram these

    relationships, it becomes apparent that multiple inheritance is a likely

    and intuitive way to model this common problem domain. The

    applicant should understand, however, that multiple inheritance, like a

    chainsaw, is a useful tool that has its perils, needs respect, and is best

    avoided except when nothing else will do.

    7. What is Context Switch?

    ANS: Switching the CPU to another process requires saving the state of

    the old process and loading the saved state for the new process. This

    task is known as a context switch. Context-switch time is pure

    overhead, because the system does no useful work while switching. Itsspeed varies from machine to machine, depending on the memory

    speed, the number of registers which must be copied, the existed of

    special instructions(such as a single instruction to load or store all

    registers).

  • 7/28/2019 iSOFT Sample Technical Placement Paper

    3/11

    Visit www.latestoffcampus.com for placement papers, interview tips & job updates. Toget

    freeupdates tomail http://groups.google.com/group/latestoffcampus/subscribeLive updates on

    Facebook @ www.facebook.com/LatestOffCampus

    Visit www.latestoffcampus.com for placement papers, interview tips & job updates. Toget

    freeupdates tomail http://groups.google.com/group/latestoffcampus/subscribeLive updates on

    Facebook @ www.facebook.com/LatestOffCampus

    8.What is Pure Virtual Function? Why and when it is used?

    ANS: The abstract class whose pure virtual method has to be

    implemented by all the classes which derive on these. Otherwise it

    would result in a compilation error. This construct should be used when

    one wants to ensure that all the derived classes implement the method

    defined as pure virtual in base class.

    9. What is CPU Scheduler?

    ANS: Selects from among the processes in memory that are ready to

    execute, and allocates the CPU to one of them. CPU scheduling

    decisions may take place when a process:

    1. Switches from running to waiting state.2. Switches from running to ready state.

    3. Switches from waiting to ready.

    4. Terminates. Scheduling under 1 and 4 is non-preemptive. All other

    scheduling is preemptive.

    10.How can I handle a destructor that fails?

    ANS: Write a message to a log-_le. But do not throw an exception. The

    C++ rule is that you must never throw an exception from a destructor

    that is being called during the "stack unwinding" process of another

    exception.

    For example: If someone says throw Foo (), the stack will be unwound

    so all the stack frames between the throw Foo () and the} catch (Foo e)

    {will get popped. This is called stack unwinding. During stack unwinding,

    all the local objects in all those stack frames are destructed. If one of

    those destructors throws an exception (say it throws a Bar object), the

    C++ runtime system is in a no-win situation: should it ignore the Barand end up in the} catch (Foo e) {where it was originally headed?

    Should it ignore the Foo and look for a} catch (Bare) {handler? There is

    no good answer: either choice loses information. So the C++ language

    guarantees that it will call terminate () at this point, and terminate ()

    kills the process. Bang you're dead.

  • 7/28/2019 iSOFT Sample Technical Placement Paper

    4/11

    Visit www.latestoffcampus.com for placement papers, interview tips & job updates. Toget

    freeupdates tomail http://groups.google.com/group/latestoffcampus/subscribeLive updates on

    Facebook @ www.facebook.com/LatestOffCampus

    Visit www.latestoffcampus.com for placement papers, interview tips & job updates. Toget

    freeupdates tomail http://groups.google.com/group/latestoffcampus/subscribeLive updates on

    Facebook @ www.facebook.com/LatestOffCampus

    11. What is Dispatcher?

    ANS: Dispatcher module gives control of the CPU to the process

    selected by the short-term scheduler; this involves: Switching context,

    Switching to user mode, Jumping to the proper location in the user

    program to restart that program, dispatch latency time it takes for the

    dispatcher to stop one process and start another running.

    12.What is Virtual Destructor?

    ANS: Using virtual destructors, you can destroy objects without

    knowing their type - the correct destructor for the object is invoked

    using the virtual function mechanism. Note that destructors can also be

    declared as pure virtual functions for abstract classes. if someone willderive from your class, and if someone will say "new Derived", where

    "Derived" is derived from your class, and if someone will say delete p,

    where the actual object's type is "Derived" but the pointer p's type is

    your class.

    13. What is DRAM? In which form does it store data?

    ANS: DRAM is not the best, but its cheap, does the job, and is available

    almost everywhere you look. DRAM data resides in a cell made of a

    capacitor and a transistor. The capacitor tends to lose data unless its

    recharged every couple of milliseconds, and this recharging tends to

    slow down the performance of DRAM compared to speedier RAM

    types.

    14.How can I handle a constructor that fails?

    ANS: Throw an exception. Constructors don't have a return type, so it's

    not possible to use return codes. The best way to signal constructor

    failure is therefore to throw an exception.15. Can a copy constructor accept an object of the same class as

    parameter, instead of reference of the object?

    ANS: No. It is specified in the definition of the copy constructor itself. It

    should generate an error if a programmer specifies a copy constructor

    with a first argument that is an object and not a reference.

  • 7/28/2019 iSOFT Sample Technical Placement Paper

    5/11

    Visit www.latestoffcampus.com for placement papers, interview tips & job updates. Toget

    freeupdates tomail http://groups.google.com/group/latestoffcampus/subscribeLive updates on

    Facebook @ www.facebook.com/LatestOffCampus

    Visit www.latestoffcampus.com for placement papers, interview tips & job updates. Toget

    freeupdates tomail http://groups.google.com/group/latestoffcampus/subscribeLive updates on

    Facebook @ www.facebook.com/LatestOffCampus

    16. What is fragmentation? Different types of fragmentation?

    ANS: Fragmentation occurs in a dynamic memory allocation system

    when many of the free blocks are too small to satisfy any request.External Fragmentation: External Fragmentation happens when a

    dynamic memory allocation algorithm allocates some memory and a

    small piece is left over that cannot be effectively used. If too much

    external fragmentation occurs, the amount of usable memory is

    drastically reduced. Total memory space exists to satisfy a request, but

    it is not contiguous. Internal Fragmentation: Internal fragmentation is

    the space wasted inside of allocated memory blocks because of

    restriction on the allowed sizes of allocated blocks. Allocated memorymay be slightly larger than requested memory; this size difference is

    memory internal to a partition, but not being used.

    17. What is hard disk and what is its purpose?

    ANS: Hard disk is the secondary storage device, which holds the data in

    bulk, and it holds the data on the magnetic medium of the disk. Hard

    disks have a hard platter that holds the magnetic medium, the

    magnetic medium can be easily erased and rewritten, and a typicaldesktop machine will have a hard disk with a capacity of between 10

    and 40 gigabytes. Data is stored onto the disk in the form of files.

    18.What is a "pure virtual" member function?

    ANS: The abstract class whose pure virtual method has to be

    implemented by all the classes which derive on these. Otherwise it

    would result in a compilation error. This construct should be used when

    one wants to ensure that all the derived classes implement the method

    defined as pure virtual in base class.19. What is Extensible Stylesheet Language (XSL)?

    ANS: XSL is a proposed styling language for formatting XML (extensible

    Markup Language) documents. The proposal was submitted to the W3C

    by Microsoft, Inso, and ArborText.

  • 7/28/2019 iSOFT Sample Technical Placement Paper

    6/11

    Visit www.latestoffcampus.com for placement papers, interview tips & job updates. Toget

    freeupdates tomail http://groups.google.com/group/latestoffcampus/subscribeLive updates on

    Facebook @ www.facebook.com/LatestOffCampus

    Visit www.latestoffcampus.com for placement papers, interview tips & job updates. Toget

    freeupdates tomail http://groups.google.com/group/latestoffcampus/subscribeLive updates on

    Facebook @ www.facebook.com/LatestOffCampus

    20.How virtual functions are implemented C++?

    ANS: Virtual functions are implemented using a table of function

    pointers, called the vtable. There is one entry in the table per virtualfunction in the class. This table is created by the constructor of the

    class. When a derived class is constructed, its base class is constructed

    _rst which creates the vtable. If the derived class overrides any of the

    base classes virtual functions, those entries in the vtable are

    overwritten by the derived class constructor. This is why you should

    never call virtual functions from a constructor: because the vtable

    entries for the object may not have been set up by the derived class

    constructor yet, so you might end up calling base class implementationsof those virtual functions.

    21. What is the difference between Hard and Soft real-time systems?

    ANS: A hard real-time system guarantees that critical tasks complete on

    time. This goal requires that all delays in the system be bounded from

    the retrieval of the stored data to the time that it takes the operating

    system to finish any request made of it. A soft real time system where a

    critical real-time task gets priority over other tasks and retains thatpriority until it completes. As in hard real time systems kernel delays

    need to be bounded.

    22.What are all the implicit member functions of the class? Or what are

    all the functions which compiler implements for us if we don't define

    one?

    ANS: (a) default ctor

    (b) copy ctor

    (c) assignment operator(d) default destructor

    (e) address operator

    23. What is the important aspect of a real-time system or Mission

    Critical Systems?

  • 7/28/2019 iSOFT Sample Technical Placement Paper

    7/11

    Visit www.latestoffcampus.com for placement papers, interview tips & job updates. Toget

    freeupdates tomail http://groups.google.com/group/latestoffcampus/subscribeLive updates on

    Facebook @ www.facebook.com/LatestOffCampus

    Visit www.latestoffcampus.com for placement papers, interview tips & job updates. Toget

    freeupdates tomail http://groups.google.com/group/latestoffcampus/subscribeLive updates on

    Facebook @ www.facebook.com/LatestOffCampus

    ANS: A real time operating system has well defined fixed time

    constraints. Process must be done within the defined constraints or the

    system will fail. An example is the operating system for a flight control

    computer or an advanced jet airplane. Often used as a control device in

    a dedicated application such as controlling scientific experiments,

    medical imaging systems, industrial control systems, and some display

    systems. Real-Time systems may be either hard or soft real-time. Hard

    real-time: Secondary storage limited or absent, data stored in short

    term memory, or read-only memory (ROM), Conflicts with time-sharing

    systems, not supported by general-purpose operating systems. Soft

    real-time: Limited utility in industrial control of robotics, Useful inapplications (multimedia, virtual reality) requiring advanced operating-

    system features.

    24. What are the differences between a C++ struct and C++ class?

    ANS: The default member and base class access specifies are different.

    This is one of the commonly misunderstood aspects of C++. Believe it or

    not, many programmers think that a C++ struct is just like a C struct,

    while a C++ class has inheritance, access specifes, member functions,

    overloaded operators, and so on. Actually, the C++ struct has all the

    features of the class. The only differences are that a struct defaults to

    public member access and public base class inheritance, and a class

    defaults to the private access specified and private base-class

    inheritance.

    25. What is the state of the processor, when a process is waiting for

    some event to occur?

    ANS: Waiting state.

    26.What is a container class? What are the types of container classes?

    ANS: A container class is a class that is used to hold objects in memory

    or external storage. A container class acts as a generic holder. A

    container class has a predefined behavior and a well- known interface.

  • 7/28/2019 iSOFT Sample Technical Placement Paper

    8/11

    Visit www.latestoffcampus.com for placement papers, interview tips & job updates. Toget

    freeupdates tomail http://groups.google.com/group/latestoffcampus/subscribeLive updates on

    Facebook @ www.facebook.com/LatestOffCampus

    Visit www.latestoffcampus.com for placement papers, interview tips & job updates. Toget

    freeupdates tomail http://groups.google.com/group/latestoffcampus/subscribeLive updates on

    Facebook @ www.facebook.com/LatestOffCampus

    A container class is a supporting class whose purpose is to hide the

    topology used for maintaining the list of objects in memory. When a

    container class contains a group of mixed objects, the container is

    called a heterogeneous container; when the container is holding a

    group of objects that are all the same, the container is called a

    homogeneous container.

    27. What is virtual memory?

    ANS: Virtual memory is hardware technique where the system appears

    to have more memory that it actually does. This is done by time-

    sharing, the physical memory and storage parts of the memory one disk

    when they are not actively being used.28.What is assignment operator?

    ANS: Default assignment operator handles assigning one object to

    another of the same class. Member to member copy (shallow copy).

    29. What resources are used when a thread created? How do they

    differ from those when a process is created?

    ANS: When a thread is created the threads does not require any new

    resources to execute the thread shares the resources like memory of

    the process to which they belong to. The benefit of code sharing is that

    it allows an application to have several different threads of activity all

    within the same address space. Whereas if a new process creation is

    very heavyweight because it always requires new address space to be

    created and even if they share the memory then the inter process

    communication is expensive when compared to the communication

    between the threads.

    30. What is the cause of thrashing? How does the system detectthrashing?

    ANS: Once it detects thrashing, what can the system do to eliminate

    this problem? - Thrashing is caused by under allocation of the minimum

    number of pages required by a process, forcing it to continuously page

  • 7/28/2019 iSOFT Sample Technical Placement Paper

    9/11

    Visit www.latestoffcampus.com for placement papers, interview tips & job updates. Toget

    freeupdates tomail http://groups.google.com/group/latestoffcampus/subscribeLive updates on

    Facebook @ www.facebook.com/LatestOffCampus

    Visit www.latestoffcampus.com for placement papers, interview tips & job updates. Toget

    freeupdates tomail http://groups.google.com/group/latestoffcampus/subscribeLive updates on

    Facebook @ www.facebook.com/LatestOffCampus

    fault. The system can detect thrashing by evaluating the level of CPU

    utilization as compared to the level of multiprogramming. It can be

    eliminated by reducing the level of multiprogramming.

    31. What is Throughput, Turnaround time, waiting time and Response

    time?

    ANS: Throughput number of processes that complete their execution

    per time unit. Turnaround time amount of time to execute a

    particular process. Waiting time amount of time a process has been

    waiting in the ready queue. Response time amount of time it takes

    from when a request was submitted until the first response is

    produced, not output (for time-sharing environment).32. While running DOS on a PC, which command would be used to

    duplicate the entire diskette?

    ANS: diskcopy

    33.What is difference between malloc ()/free () and new/delete?

    ANS: malloc allocates memory for object in heap but doesn't invoke

    object's constructor to initialize the object. New allocates memory and

    also invokes constructor to initialize the object. malloc() and free() donot support object semantics, does not construct and destruct objects

    E.g. string * ptr = (string *)(malloc (sizeof(string))) Are not safe, and

    does not calculate the size of the objects that it construct.

    34. What is the difference between delete and delete []?

    ANS: Whenever you allocate memory with new [], you have to free the

    memory using delete []. When you allocate memory with 'new', then

    use 'delete' without the brackets. You use new [] to allocate an array of

    values (always starting at the index 0).35.What is Memory alignment??

    ANS: The term alignment primarily means the tendency of an address

    pointer value to be a multiple of some power of two. So a pointer with

    two byte alignment has a zero in the least signi_cant bit. And a pointer

  • 7/28/2019 iSOFT Sample Technical Placement Paper

    10/11

    Visit www.latestoffcampus.com for placement papers, interview tips & job updates. Toget

    freeupdates tomail http://groups.google.com/group/latestoffcampus/subscribeLive updates on

    Facebook @ www.facebook.com/LatestOffCampus

    Visit www.latestoffcampus.com for placement papers, interview tips & job updates. Toget

    freeupdates tomail http://groups.google.com/group/latestoffcampus/subscribeLive updates on

    Facebook @ www.facebook.com/LatestOffCampus

    with four byte alignment has a zero in both the two least signi_cant

    bits. And so on. More alignment means a longer sequence of zero bits

    in the lowest bits of a pointer.

    36. What are the basic functions of an operating system?

    ANS: Operating system controls and coordinates the use of the

    hardware among the various applications programs for various uses.

    Operating system acts as resource allocator and manager. Since there

    are many possibly conflicting requests for resources the operating

    system must decide which requests are allocated resources to

    operating the computer system efficiently and fairly? Also operating

    system is control program which controls the user programs to preventerrors and improper use of the computer. It is especially concerned

    with the operation and control of I/O devices.

    37.Can I use realloc () on pointers allocated via new?

    ANS: No! When realloc () has to copy the allocation, it uses a bitwise

    copy operation, which will tear many C++ objects to shreds. C++ objects

    should be allowed to copy themselves.

    They use their own copy constructor or assignment operator.

    Besides all that, the heap that new uses may not be the same as the

    heap that malloc () and realloc () use!

    38. Why is it my ': hover declaration for links does not work?

    ANS: Assuming you have already checked that your style sheet

    declarations do conform to correct CSS syntax, it could be that you have

    overlooked the importance of a correct order of style declarations for

    links.

    The CSS2 specification makes this following note on the importance ofplacing the dynamic pseudo-classes ': hover and ': active in correct

    positions in a list of style declarations.

    Note that the 'a: hover' must be placed after the 'a: link' and 'a: visited'

    rules, since otherwise the cascading rules will hide the 'color' property

  • 7/28/2019 iSOFT Sample Technical Placement Paper

    11/11

    Visit www.latestoffcampus.com for placement papers, interview tips & job updates. Toget

    freeupdates tomail http://groups.google.com/group/latestoffcampus/subscribeLive updates on

    Facebook @ www.facebook.com/LatestOffCampus

    Visit www.latestoffcampus.com for placement papers, interview tips & job updates. Toget

    freeupdates tomail http://groups.google.com/group/latestoffcampus/subscribeLive updates on

    Facebook @ www.facebook.com/LatestOffCampus

    of the 'a: hover' rule.

    Similarly, because 'a: active' is placed after 'a: hover', the active color

    will apply when the user both activates and hovers over the 'a'

    element.

    39. Document Style Semantics and Specification Language (DSSSL)?

    ANS: Document Style Semantics and Specification Language is an

    international standard, an expression language, a styling language for

    associating processing (formatting and transformation) with SGML

    documents, for example XML.

    40. Why paging is used?

    ANS: Paging is solution to external fragmentation problem which is to

    permit the logical address space of a process to be noncontiguous, thus

    allowing a process to be allocating physical memory wherever the latter

    is available.