Thursday 28 February 2013

create a method to access the binding container

public BindingContainer getBindings() {
return
BindingContext.getCurrent().getCurrentBindingsEntry();
}

Then import oracle.adf.model.BindingContext and
oracle.binding.BindingContainer


for example if we are writting the ViewDeptEmp1.java code is like this 

Monday 25 February 2013

Oracle ADF Interview Questions and Answers for Experienced

1 Q) what is oracle ADF?
Ans:
Oracle ADF is an commercial java/j2ee Framework Used to build Enterprise Applications.

2 Q)What are the advantages of using ADF?
Ans:

  •   It supports Rapid Application  Development.
  • It is based on MVC architecture
  • Declarative Approach (XML Driven)
  • Secure
  • Reduces maintenance cost and time
  • SOA Enabled  
3 Q) What are various components in ADF?
Ans :
 Oracle ADF has following components
  1. ADF Business Components(Model)
  2. ADF Faces (View)
  3. ADF Taskflows(Controller)
4 Q)What is the return type of Service Methods?
Ans :
Service Methods can return Scalar

5 Q)Can Service Methods return type Void?
Ans :
Yes, Service Methods can Return type Void



6 Q)Can Service Methods return Complex Data types?
Ans :
No, service methods can return only primitive/scalar data types.


7 Q)Which component in ADF BC manages transaction ?
Ans :
Application Module, manages transaction.

8 Q) : Can an entity object be based on two Database Objects(tables/views) or two Webservices ?
Ans :
No entity objects will always have one to one relationship with a database object or web service.


9 Q)Where is that we write business rules/validations in ADF and why?
Ans :
We should be writing validations at Entity Object level, because they provide highest degree of reuse. 


10 Q)What is Managed Bean?
Ans :
Managed bean is a java class, which is initialized by JSF framework. It is primarily used to hold view and controller logic. It is also used to execute java code to be executed on a user action like Button Click.


11 Q)What are Backing Bean?
Ans :
Backing beans are those managed beans which have 1:1 mapping with a page. They have getters and setters for all the components in the related page.

12 Q) What is difference between managed and backing beans?
Ans :
Backing bean has 1:1 relation with page whereas managed beans can be used in multiple pages.
Backing beans scope is limited to the page whereas managed beans can have other scopes too.


13 Q)What is a Taskflow?
Ans :
Taskflow is the controller of an ADF application, it provides us an declarative approach to define the control flow. It is used to define the navigation between pages and various taskflow activites.


14 Q)What are the different types/categories of Taskflows ?
Ans :
Taskflows are of two categories : Bounded and UnBounded.


15 Q)What is the difference between Bounded and UnBounded taskflows?
Ans :
Differences between Bounded and UnBounded taskflows :

  • Bounded taskflows can be secured but Unbounded can’t.
  • Bounded taskflows can accept parameter and return values but unbounded taskflows don’t support parameters
  • Bounded taskflows has a single entry point or a default activity but unbounded taskflows have multiple entry points.
  • Bounded taskflows can be called from other bounded/unbounded taskflows but unbounded cannot be called or reused.
  • Bounded taskflows support transactions unbounded don’t
16 Q)What are the various access scopes supported by ADF?
Ans :
ADF Faces supports the following scopes

  1. Application Scope
  2. Session Scope
  3. PageFlow Scope
  4. Request Scope
  5. BackingBean Scope.

17 Q)Describe life cycle of a ADF Page?
Ans :
ADF page is an extension of JSF and has
following phases in its lifecycle
Initialize Context: 
 In this phase the adf page initializes the LifecycleContext with information that will be used during the Lifecycle.
Prepare Model: In this phase ui model is prepared and initialized. In this phase page paramenters are set and methods in the executable section of the page definition of the ADF page are executed.
 Apply Input Values
  This phase handles the request parameters. The values from the HTML are sent to the server and applied to the page binding in page definitions.

  • Validate Input Values:  This phase validates the values that were built in the Apply input values phase
  • Update Model:  Validated values supplied from user are sent to ADF business components data model
  • Validate Model Updates:  In this phase the business components will validate user supplied values.
  • Invoke Application:  This phase will process the ui events stack built during the life cycle of page and also fire navigational events
  • Prepare Render:  This is the final phase where HTML code is generated from the view tree.                               

Friday 8 February 2013

Java Project Manager Round FAQ’s with Detailed Answers


Q)What is your Project Architecture?
 A. The reason behind asking this question is to check your
acquaintance towards the project in which you are working.
Most of the people feel difficulty in answering this question.
You are expected to explain the following this about your
project like
· Title of the project
· Client
· Team Size
· Brief description about the functionality of the project
After specifying the above things, now you should start
explaining the modules in the project and which module you
are woking on and you should explain the technical flow of the
project.
If it is struts application You should explain the key
components of it and how the request handling flow happens
and how your struts components talks to backend classes etc.
In a spring based application you should explain which web
module you are using, various components of it, typical request
flow, how you integrated your webtier components of spring of
spring with backend spring beans etc.
Along with the above you need to explain how you are
implementing the transactionality, any security related
concepts etc.
You should explain the database you are using, and your role
towards it.

Q) what are your roles and responsibilites in the project?
A) You should not explain in-terms of the types of classes you
coded, most of the people when they asked this question will
try to tell I coded struts action classes or In involved in writing
the DAO logic etc. With this you are in-directly leaving a wrong
message to the interviewer stating my participation in the
project in minimal.
Instead you should select a module’s (based on the exeprience)
and start explaining you participation in those module’s like,
am involved in gathering the requirements, understanding and
analyzing them and involved in few design considerations as
well. Takes the ownership of implementing it, I was involved in
handling the front-end parts of the application as well as
writing the back-end DB related logic as well. You should
explain convering all the parts of your application showing your
involvement towards it.

Q) What are the technologies you have worked on?
A) You should explain the technologies you worked on as well
as you know. You should first list out the technologies that your
project is using and along with that you should describe what
you know in-addition to them.
While answering the technologies related to your project, you
should even consider the versions which you are using in your
projects.

Q) What are the tools that are used in your projects?
A) This question relates to any third party tools that you are
using in your project like code review tools, or profiling tools
etc to improve the productivity of the project. Most likely you
will use tools like
· Visio – For modeling
· PMD – Java code review tool
· Any browser plug-in’s like File Bug etc to debug
javascripting etc.
· IE Developer to work with javascript and CSS
· Jdeveloper or TOAD to working with database.
In may not be necessary to use a tool.

Q) Which IDE you have used for the development?
A) (Which IDES’s you Know?)
Here you must explain him the IDE you are using for
development and if any other tools which you know apart from
the one you are working on.
Here the interviewer might ask you even the stortcuts keys of
various things that you do for writing the programs.

Q) What are the database’s you worked on?
A) You need to specify the database on which your application
is using. Here he might ask you questions related to database
specific things like how to write the joins what is normalization
and how your application is talking to database etc.

Q) What are the server’s / platform’s you worked on?
A) Here you should possess minimum knowledge pertaining to
the application server which you are using for deployment of
your application. You should know the basic deployment steps
of deploying the application, default administrative console,
how to configure a Data source, folders in which your
application gets deployed etc.

Q) Which operating system / environment you are working on?
A) Few of the security related banking and financial applications
will use for remote machines like citrix servers are etc for their
development rather that working on their personal PC
provided, so here the interviewer will expects you to answer
the environment in which you are working along with that OS
you are using for development. The question is not concerned
about on which OS platform you deploy in production rather it
is taking about the platform on which you do development.

Q) Have you ever been involved into Design?
A) The answer to this question depends on the experience you
are claiming, If you are around a 1-2+ years of professional it
may not be relevant to say you are part of design as your
involvement towards project decisions would be minimal.
If you are above 3+ years of experience, then you need to
explain the key design you are involved in or what you worked
out etc.

Q) What is the reporting tool you are using in your project?
A) Generally any application needs printing capabilities,
generally java web based application’s will produces data for
printing in-terms of web pages. If you have a typical printing
requirement, the you need to explain which library you are
using to generate reports of data.
For example Jasper reports or iText API for generating PDF’s
and POI API for generating excel sheets etc.

Q) What is the CIS/build management tool used in your
project?
A) In a development environment after developing the
application, In order to deploy your application, you use your
IDE’s to compile your code and deploy. But in a Testing and
other environments, for every new check-in that goes into
source control, you code needs to be built to verify the
sustainability of your code, so generally in they use continuous
Integration Systems or Build management tools which builds
the application regularly similar to a scheduler and reports the
health of your build cycle.
Few of them are
Hudson – CIS tool
AnthrilPro – Build, Deploy, Test and Release tool.

Q) What is the volume of data against which your application
runs?
A) In general a developer will not know the production
environment and the volumes of data against which your
application works. Your technical architect should be taking
these kinds of challenges and makes decision to have a
particular use case to be online or offline.
So, you can always I don’t know the exact numbers of records
my application is running on.

Q) How do you manage security like managing user credentials
/ data encryption etc?
A) In general you will take care of securing your application by
hosting on an SSL connection rather than plain HTTP.
When it comes to data protection, generally the passwords that
are being stored in the database will not be stored in a plain
text rather those will be converted in to generally BASE16 or
BASE32 encoding formats and will be stored.
You can even explain like we use Salted Password technic in
storing them. You can search about the salted password
mechanism for more information.

Q) How do you write Unit Test Cases? (Microsoft, Goolge,
Tanla, Adobe, Bharti Telecom)?
A) You need to explain your participation of writing unit test
cases in your project. Generally for writing unit test cases using
Junit and Mocking Objects to mock the HTTP or orther protocol
specific things.
You need to explain by taking atleast one of the test cases and
write the code for how to work on it.

3. Nature of Work
Here the interviewer will try to find the nature of work you are
performing and type of duties you are responsible for. Let’s say
you said you are into development, in-order to find are you
really in to development or not he will ask you vairous aspects
related to a general development lifecycle. You need to take
these question with most focus.

Q) Have you ever participated in release call?
A) Generally once the code is development complete and fully
tested to bug free, it will be moved to production environment.
While moving to productio environment, they will try to
identify the set of activities that needs to be performed as part
of the release process.
This is called release plan, in this all the managers, technical
architects, support and technical leads will generally
participates in the call to monitor the progress of the process.
If any environment specific issue or code specific issue comes
into picture, these guys will technically resolve the issue to
further move into production.
Once the build and deploy is over it would be smoke tested to
verify all the critical execution parths of the application is
working or not?
You can always either opt to be in or out from this.

Q) Have you ever been involved into Testing?
A) This question will be asked to verify the nature fo duty you
are handling. Always a developer will be involved in Unit
Testing of his application, but beyond this never he should
claim he has been involved into testing unless he wants to
switch his role from developer to tester.

Q) what is your Team size?
A) This would be a mandatory question, to verify whether you
can work within a group of people or not.
Even you could be an individual contributor as well. But you
score more within a group.

Q) What are the corporate trainings you have attended?
A) These could be the trainings that you underwent as part of
your jo and which was nominated by your manager. These
should not include your personnel expensed trainings in
general.
These trainings could be technical as well as non-technical
though.

Q) Do you have experience in production Support and what is
the hierarchy in Production Support? (HCL, RBS, Amdocs
(Gurgaon), HSBC).
A) This question would be asked in generally for a Production
Support related Job role only. Here he wanted to test your
exposer to the production support environment and the SLA’s
and the escalations they would dealing with.
What are the steps that are taken care when you encounter an
issue? How do you debug the issue?

Q) Tell and explain to us about a specific situation during the
project where you have to cope with a less experienced
candidate in your team and what are the measures you took to
meet your deadlines? (Verizon)

OR
You have been assigned as the Team Lead for a team comprised
of new employees just out of college and “entry-level”
consulting staff. What steps can you take to insure that the
project is completed against a very tight time deadline?(TCS,
Infosys, CTS, LogicaCMG)
OR
Your project is beginning to exceed budget and to fall behind
schedule due to almost daily user change orders and increasing
conflicts in user requirements. As a senior developer, how will
you address the user issues?(United Health Group)
A) If you opted for a Technical or a Team lead this is to test
your team handling skills.
In general to handle a team under stringent deadlines, you
should say we follow the process and to verify whether we
are meeting the deadlines we will have regular checkpoint
meetings.
We will have an MPP plan to measure and track the
process of project, along with that owner ship would be
assigned persons by identifying aggressive persons in the
team.
We would be monitoring across various stages of the
project from requirement gather till Unit Testing. Whether
the design documents are in place and has the
Implementation phase has been started or not.
We will come up with estimates identifying the key
components of the application and track to ensure we are
meeting the estimates.
Code reviews would be done for every component that is
ready to completion.
Will use automation tools to increase the productivity like
Hibernate reverse engineering tools or SQL Jdeveloper to
work with databases or PMD code review tools etc.
Will ask the team members to perform Unit testing once
there are done with development and verify them against
tracebility matrix.
All the changes to the requirements would be monitored
closely and will have a change management and approval
process would be placed to accept any future changes to
the requirements.

Q) How do you handle non-productive team
members?(Accenture, CISCO, GE)
A) Will try to monitor the resources closely, will try to have a
regular discussions with them to identify their strengths and
weakness. Will motivate them by encouraging them on the
work they have done. Will identify their technical challenges
and nominate for training.

Q) Tell us some of your extraordinary skills which place you in
the leading position over the other technical
associates?(Juniper Networks)
A) You can make any situation favor to you like, you have
handled certain module of your application or you are involved
into critical design of a module etc.
You can say even challenges related to technologies as well like
we are moving from struts to spring and it is Phase wise and we
need to move our entire existing logic in struts framework
towards spring. I was identified as a key actor in owning this
migration and towards its successfully delivery.
I Identified the migration plan and compared struts with spring
and analyzed what are all the changes that we might need to
make in porting the application from sturs to spring. Guided
rest of the Team members and ensure the correctness of the
delivery etc.

Q) What were the criticism / difficulties you got during your
projects, how did you handle it and what are the measures you
look to avoid repetition of the same?
(Mercedes Benz, ORACLE, CA, Pega Systems)
A) It’s better if you avoid taking up such kind of questions by
replying I haven’t encountered any.

Q) What is SCM tool?
A) This is the tool which acts as a central repository where all
the developer’s code will go stored permanently to avoid any
loss of local code. The backups would be done on the code that
would be checked-in to the control repository to avoid any
losses further from there.
Developer will pull the code from the repository, work on this
local copy and pushes back to the central repository to see the
changes he made to others, this process is called check-in and
check-out.

Q) What are the measures you take to ensure there are
minimal code conflits with other peers in the team?
A) In order to avoid conflicts when each codeline, we have a
proper plan in place. Every developer has to check-in only the
compiled code for Build Management process to run smooth.
Every day when he starts coding he needs to update his code to
sync with source control system branch, so that he will be
updated with the changes that are done with the central copy.

Q) If you are working on parallel releases one will be identified
as a main branch which will be released slightly after than the
current release. And the second one is the immediate release.
All the check-ins that are done in the immediate release branch
must also should be ported to the future release MAIN branch
so that your changes would be ensured to go in future releases
as well.

Q) what are the Different phases in delivering the project
during development and during maintenance? (CTS, patni,
General Motors)
A) This question relates to the process model you choose in
developing your application, you need to explain him the
lifecycle model of the project and various stages involved in it.

Q) How do you perform unit testing and make sure you covered
all the aspects of your code?
A) Before starting the unit testing, every developer based on
the Use case he should identify all the alternate paths, critical
paths of a test case and should draft them in a Tracebility
matrix. In this matrix he will trace all the critical flow of the
application has been covered to its fullest or not.

Q) What is the document that should be consulted to know
about your project, the activities you do, to know about your
project? (Dell, Qualcomm, HCL,PSPL, TechMahindra)
A) Requirments Phase – Highlevel Requirment document or
Business Requirment document.
Analysis Phase – Usecase and Analysis document
Design Phase – Highly level design document and Detailed
design document.
Unit Testing – Test case document describing the unit testing
flows and Tracebility matrix.

Q) How do you come up with estimates for a requirement?
A) We will identify the components of the application into three
categories based on their complexity.
And we use estimation document where we will feed in the no
of critical, moderate and normal components in that document
will calculate the estimates.