Business Analyst interview questions

November 5th, 2012  |  Published in Software  |  1 Comment

Verbal interview

1. How do you handle a situation where it is discovered, in testing phase, that a use case, signed off, has a major flaw?

2. Describe your RUP experience, roles played, documents produced.

3. Describe your experience working on a re-engineering of a project, your own contributions etc.

4. Describe your experience with Zachman framework.

5. What documents do you use, as BA, as input when you start a new project?

Written test

A customer can order and buy products and services on the web through a web interface (examples of products and services: socks, pants etc)

a. Draw a conceptual data model of the system.

b. Enumerate some of the system’s functions.

c. Create the BPM (business process model) for one of the above functions.

d. Write the business rules for the BPM created above.

e. Create the use case model for the system.

How to create database view with multiple columns from a row (Oracle SQL)

November 2nd, 2012  |  Published in Software

Here is the challenge: create a 3-column view (essentially a select statement) from a table with 2 columns.

An example of such a table is NEXT_OF_KIN, associated with the PATIENT table.

The PATIENT table has two columns and contains unique persons (each person just once):

("ID" NUMBER NOT NULL
 "PATIENT_NAME" VARCHAR2(200 BYTE) NOT NULL)

Its content should look like this:

101, "John Smith"
102, "Marry Poppins"
103, "Elisabeth Johnston"
104, "Warren Todd"

Table NEXT_OF_KIN contains the relatives of the each person, with PATIENT_ID being foreign key. Its definition looks like this:

("PATIENT_ID" NUMBER NOT NULL,
"RELATION" VARCHAR2(20 BYTE) NOT NULL,
"NK_NAME" VARCHAR2(200 BYTE) NOT NULL)

An example of the content of NEXT_OF_KIN is this:

101, "Mother", "Andrea"
101, "Father", "Bob"
101, "Aunt", "Cecilia"
102, "Father", "Dan"
102, "Mother", "Esther"
103, "Mother", "Florence"
104, "Father", "George"

We want to create a view with the following structure:

  • patient id
  • patient name
  • patient’s mother
  • patient’s father

from these two tables (PATIENT, NEXT_OF_KIN).

The view should return the following rows:

101, "John Smith", "Andrea", "Bob"
102, "Marry Poppins", "Esther", "Dan"
103, "Elisabeth Johnston", "Florence", (null)
104, "Warren Todd", (null), "George"

The select statement to create this view should look like this:

select PNK.ID, PNK.NK_NAME as MOTHER, NK2.NK_NAME as FATHER
from
(
  select P.ID, NK1.NK_NAME
  from PATIENT P
  left join
  (
    select PATIENT_ID, NK_NAME from NEXT_OF_KIN
    where RELATION = 'Mother'
  ) NK1
  on P.ID=NK1.PATIENT_ID
) PNK

left join
(
 select PATIENT_ID, NK_NAME from NEXT_OF_KIN
 where RELATION = 'Father'
) NK2
on PNK.ID=NK2.PATIENT_ID

WebMethods interview questions

October 6th, 2011  |  Published in Software

Here is a list of potential questions if you go for a WebMethods job interview.

1. What is startup service (multiple choice):

  • services that start with WM IS;
  • services that start when WM package loads;
  • services that start when WM adapter loads;
  • services that start when WM pipeline initiates.
2. The commonly known meaning of JNDI is:
  • Java Naming & Directory Interface
  • Java Native Directory Interface
  • Java Naming Direct Interface
  • Java Naming Direct Interface
3. java.sql.DataSource interface is part of
  • Java JSE SDK
  • Java JEE SDK
  • JRE
  • JVM
4. What happens when pub:flow:tracePipeline service is invoked:
  • A trace is started, logging all pipeline changes going forward.
  • All current value-pair in the pipeline are logged.
  • A list of matching pipelines are found.
5. How would you invoke a service using an URL?
6. List types of message transformation techniques commonly used by ESBs, giving pros/cons for each, and naming the specific webMethods tools used.
7. XSLT uses an expression language to locate XML tags to transform within an XML doc. Name this expression language and give two example expressions.
8. Describe some common webMethods IS performance tuning options (3 sentences – 3 points).
Good luck!

Bug in WordPress?

July 11th, 2009  |  Published in Software

I just noticed that, when editing a post that uses SyntaxHighlighter (that has the tag <pre>) in Visual mode, attribute name="code" gets lost. The attribute needs to be inserted again in HTML mode. Annoying, to say the least, if not downright scary.

This is how the <pre> tag should look like:
<pre name="code" class="c-sharp">

... some code here ...

</pre>

If your source code disappears after you edited it, check, in HTML mode, the attribute name. It is very probable that it was lost in Visual mode.

Interesting links for today

July 11th, 2009  |  Published in Software

VisualVM

Put or Post

How to write unmaintainable code

Store a tree in a relational database

HTTPS internals

Web_development_timeline

How spellcheckers work

Tags:

Displaying formatted source code

June 29th, 2009  |  Published in Software

Before going onto bigger and better things, let’s start with something I thought will be trivial: displaying nicely formatted source code in WordPress blogs.
Obviously, I read and followed the instructions on the support page, where it says

Wrap your code in these tags:

[sourcecode language=’css’]

your code here

[/sourcecode]

Well, I did that, and the result did not look as shown on that page. At this point I had to start investigating. After saving the HTML page, I tried to figure out what makes the source code be nicely formatted. It turned out that the following lines are responsible:






These lines reference one stylesheet file and several JavaScript files. They were missing from the displayed HTML, so I tried to insert them into the posting itself. Remarkably, the <script> tag was left intact, but the <link> tag was removed. I had to somehow instruct WordPress to insert this specific <link> tag. And here is where “plugins” come handy because this is what they are designed to do: to insert specific files, both CSS and JavaScript in the HTML pages generated by WordPress.

Download here a sample HTML file that uses the highlighter JavaScript files independently of WordPress.

Searching for syntax highlighter in the plugins repository returns a few results. I installed what I thought will be the closest: Google Syntax Highlighter for WordPress and SyntaxHighlighter Evolved. It is important to mention that the latter seems to be derived from the former. The “evolved” version uses the
[sourcecode] tag (which gets converted to <pre>), whereas the “original” uses the <pre> tag.

This is how Google Syntax Highlighter for WordPress shows the code:

#button {

font-weight: bold;

border: 2px solid #fff;

}

and this is how SyntaxHighlighter Evolved does it:

#button {

font-weight: bold;

border: 2px solid #fff;

}

Between the two highlighting plugins I personally prefer the “original” Google Syntax Highlighter for WordPress version 1.5. Some other bloggers report the same preference (and also ask about how to downgrade from the “evolved” plugin). Maybe they will find this interesting: both plugins could co-exist (be active), as shown above; by using one tag or the other, one can choose the way the source code is displayed.

What the above mentioned WordPress tutorial omits to mention is that the [sourcecode] tag works ONLY after the SyntaxHighlighter Evolved plugin is installed. Well, it wasn’t really time wasted, since I learned something that may also help others.

References:

Hello world!

May 22nd, 2009  |  Published in Software

We created this blog to showcase projects we worked on, to discuss interesting topics, to exchange ideas.

As software professionals, we believe in readability and maintainability of the code, and in accountability in its development, from design to deployment, to support. We fully agree with the message of this article, that the software strength resides in the process of creating it. Although we understand that a bug-free software may be a dream, we strive to bring that dream to reality. We value elegant solutions, simplicity of design, yet we are comfortable with complex requirements and sophisticated scenarios.

So welcome to this blog. Check it out often, contribute, express your opinions, be active!