Interview Questions

1.What is SAPUI5? 

  • SAPUI5 stands for SAP user interface for HTML5. 

  • SAPUI5 is a set of libraries to build responsive web applications that run on multiple devices like desktop, mobile and tablet. 

  • SAPUI5 strictly follows RIA (Rich Internet Application) standards. It is based on JavaScript which provides a lightweight programming model for desktop as well as mobile applications. 

2.What is SAP Fiori? 

  • SAP Fiori is a new user experience for SAP software and applications. 
  • It provides a set of applications that are used in regular business functions like work approvals, financial apps, calculation apps and various self-service apps. 
  • SAP Fiori applications can be developed using SAPUI5. 

3. SAP Fiori Design Principles?

  • Role Based - Designed for people and how they work. 
  • Responsive - A web application which gives the same look and feel to the user in desktops and mobile devices. 
  • Simple - Includes only what is necessary. 
  • Coherent - One fluid experience.
  • Delightful - Beyond and expected.

4.Types of Fiori Apps? 

          SAP FIORI apps are divided into three categories: Transactional, Fact sheets, Analytical. 

  • Transactional apps: Transactional apps in SAP Fiori are used to perform transactional tasks like manager-employee transactions such as leave requests, travel requests, etc. Transactional apps run best on SAP HANA database but can be deployed with any database with acceptable performance. These apps allow a user to run simple SAP transactions on the mobile devices as well as desktop or laptops. 

  •  Fact Sheets: Fact sheets allow you to navigate to transactional apps to run SAP transactions. Few fact sheets also provide an integration option of geographical maps. Fact sheets only run on SAP HANA database and also require an ABAP stack and they cannot be ported to SAP HANA live tier-2 architecture. 

  •  Analytical apps: Analytical apps are used to provide role-based real time information about the business operations. Analytical apps run on SAP HANA database and use virtual data models. 

5. What is HTML?

  • HTML stands for Hypertext markup Language. 
  • HTML is not a Programming Language. 
  • HTML is used to create the static web pages.
  • HTML elements are represented by tags. 
  • All browsers are directly understands HTML. 

6. What is CSS? 

  • CSS Stands for Cascading style sheets. 
  • CSS describes how HTML elements are to be displayed on screen. 
  • CSS saves a lot of work. It can control the layout of multiple web pages all at once. 

7.What is JavaScript? 

  • JavaScript is a dynamic Computer Programming language. 
  • It provides a light weight programming model for desktop as well as mobile applications. 
  • It is an interpreted Programming language with object oriented capabilities. 

8. What is jQuery? 

  • jQuery is JavaScript library designed to simplify the client side scripting. 
  • jQuery also simplifies a lot of the complicated things from JavaScript, like AJAX calls and DOM Manipulation. 

9. What is MVC? 

  • MVC stands for model view controller. 
  • It’s an architecture to design UI based applications to achieve maximum reusability and extensibility of the application for future changes. 
  • Model is the representation of the data in form object. 
  • View defines UI. 
  • Controller contains all the logic. 

10. Difference between SAP Fiori and sapui5? 

  • SAP UI5 is a technology whereas Fiori is a Methodology. 
  • SAP Fiori is a collection of standard applications based on SAP UI5 library. 

11. What is Bootstrapping? 

  • SAPUI5 Bootstrapping means loading and initializing SAPUI5 in any HTML page. 
  • The most important library or resource loaded in SAPUI5 bootstrap is “sap-ui-core.js”. Apart from this theme for the application, SAPUI5 libraries etc. are declared in the bootstrapping. 

12. What all types of data models available in SAPUI5? 

  • JSON Model – Client-side model, supports two way binding. 
  • XML Model – Client-side model and intended for small data sets this is very rarely used model.
  • Resource Model – This is also client side model used to maintain resource bundles, especially texts. 
  • ODATA Model – This is most important model of the four provided. This is server side model, supports two way binding. 

13. What is the main difference between OData Model and JSON Model? 

  • The JSON model is a client-side model and, therefore, intended for small Datasets, which are completely available on the client. 
  •  The OData model is a server-side model: the dataset is only available on the server and the client only knows the currently visible rows and fields. 

14. Explain Navigation concept in SAPUI5? 

  • SAPUI5 uses two mechanism for navigation in applications those are Event Bus and Routing.
  • Sap.ui.core.routing is the class used for the routing. 
  • We define routing in components metadata in “routing” key. It is composed of Route object and hash changer object. Route object defines the navigation. 
  •  Paths and hash changer will be used at runtime to change the hash which leads to Navigation.

15. When and How to use formatter in SAPUI5? 

  • We need to use formatter when we need to perform some changes on the back End property data on the front end. 
  • We can use formatter while data binding to a property like as follows. 
  • oControl = new sap.ui.commons.TextField({ value : {path : “/path”, formatter : function(oEvent){ return “Value:”+oEvent; }}}); 

16. What all types of views are available in SAPUI5? 

In SAPUI5, there are 4 types of views. 
  • JSON View 
  • XML View 
  • JavaScript View 
  • HTML View 

17. What are the Lifecycle/hook methods of SAPUI5 views controller? 

SAPUI5 provides 4 predefined lifecycle methods for controller. 
  • OnInit () is called when a view is instantiated. 
  • OnExit () is called when the view is destroyed; used to free resources and finalize activities.
  • OnAfterRendering () is called when the view has been rendered and, therefore, its HTML is part of the document. 
  • OnBeforeRendering () is called before the controller view is re-rendered and not before the first rendering. 

18. What are SAPUI5 Fragments? 

  • Fragments are very light weight UI controls and part of another UI. 
  • Fragments are not completely like views but they act like a view. Fragments are defined similar like views and are names like “myFragment.fragment.xml“. 

19. Does Fragment have its own controller? 

  •  Fragments are created without controllers, they don’t have their own controllers they share controller of the view which is invoking it. 

 20. In how many ways you can bind data to your controls? 

There are four types of bindings: Property, Element , Aggregation and Expression binding. 
  • Property Binding: Property binding is used to bind model data to the property of a control.
  • Element Binding: Element binding allows to bind elements to a specific object in the model data, which will create a binding context and allow relative binding within the control and all its children. This is especially helpful in master/detail scenarios. 
  • Aggregation binding: Aggregation binding is used to automatically create child controls according to model data. 
  • Expression Binding: If we need some calculation on model data or some sort of comparison, then expression binding is useful. allows you to define complex expressions directly in your data binding syntax. 

 21.Difference between SAP UI5 and SAP FIORI?

  • SAP UI5 is Technology whereas Fiori is a methodology. 
  • SAP Fiori is collection of standard applications based on SAPUI5 library. 

22.How can you get to know that device is Touch Screen or not? 

  • SAPUI5 library provides a special API "sap.ui.Device" which can be used for device and its feature detection. 
  • This API has a flag "sap.ui.Device.touch" which returns true if device is a touch screen otherwise false. 

23. How can you get the web browser of the client on which SAP Fiori application is running? 

  • SAPUI5 library provides a special API "sap.ui.Device" which can be used for device and its feature detection. 
  • This API provides flags like “chrome”, “Firefox”, “Mozilla”, “edge” etc. in “sap.ui.Device.browser” API which returns Boolean values. 

24. Binding Modes in SAPUI5? 

SAPUI5 provides the following binding modes: 
  • One Way: One-way binding means a binding from the model to the view; value changes in the model update all corresponding bindings and the view. 
  • Two Way: Two-way binding means a binding from the model to the view and from the view to the model; value changes in the model and in the view update all corresponding bindings and the view and model, respectively. 
  • One Time: One-time binding means from model to view once. Default Binding Mode of Models.
  • Default Binding mode of models.

25. Can more than one model be used in view? 

  • In general your view can have as much models you like. 
  • The only restriction is that there can be only one nameless model, i.e. all other models need to be named. 
  • To bind against a named model you have to provide its name in the binding instruction, otherwise the runtime uses the nameless model. 

26. Can we add our own controls to UI5? 

  • Yes, we can add custom controls by creating definition of it from scratch. 
  • To define a custom control we use sap.ui.control.extend and to enhance a standard SAP UI5 control we use sap.ui.commons.controlname.extend. 

27. Types of predefined CSS margin classes? 

There are four types of margin available: 
  • Full margins, which completely surround your control. 
  • Single-sided margins. 
  • Two-sided margins. 
  • Responsive margins, which adapt to the available screen width. 

28. Types of components in sapui5? 

SAPUI5 provides the following two types of components: 
  • Faceless Components: Faceless components do not have a user interface and are used for coding where no UI elements are needed. 
  • UI Components: UI components extend components and add rendering functionality to the component.

No comments: