While I ask a few easy questions, such as
1) What does EXFMT do?
2) Tell me about any RPG IV Built in Function (BIF)
Just to insure that yes, they person has actually coded in RPG. I have a couple of sets of questions
to separate the wheat from the chaff...
A) Your program throws a CPF4131 - Level Check error at runtime, what does this mean?
What are some programming methodologies you can use to reduce the likelihood of a CPF4131 error.
(Using LVLCHK(*NO) is not the right answer!)
- Use SQL instead of Native I/O
- Encapsulate I/O into a service program
- Have programs access through logical files whose formats don't change when the physical file's does.
B) You've been having a problem with jobs blowing up due to record locks. It turns out, users are
leaving a maintenance program running with records being changed on the screen. The maintenance
program is keeping the record locked. How would you modify the maintenance program to prevent the
problem?
- Most correct answer would be to modify it to chain without a lock and display, then once the user
presses enter, chain with a lock and doing update.
- Somewhat right, putting a timeout on the maint screen. But a reasonable time out would still cause
other jobs problems. Discuss the "right" solution with candidate. Then ask the next part.
Chaining without a lock, then when the user presses enter chaining with a lock and doing the update
leaves you open to another issue, what is it and how could you handle it?
- Two users could change the same customer. The first one's changes would be lost.
- Save a copy of the original record (or a last changed timestamp field from the record) to make sure
it hasn't changed since it was originally displayed to the user. Then either disallow the 2nd users
changes or if the 2nd user is updating fields the first didn't allow the second users changes to
update.
There might be other ways to answer A & B, the above are what I feel the most common right answers.
If a candidate gives another, you get to decide/discuss how well it would work.
I'd hire an entry level developer who couldn't answer A & B, or a code monkey who was going to be
implementing somebody else's designs.
But if I'm hiring somebody whom I want to design and code applications, they had better be able to
come up with some intelligent answers to A & B.
Charles Wilt
Software Engineer
CINTAS Corporation - IT 92B
513.701.1307
wiltc@xxxxxxxxxx
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx]
On Behalf Of Robert Munday
Sent: Tuesday, March 11, 2008 11:51 AM
To: RPG programming on the AS400 / iSeries
Subject: Need Some RPG Technical Questions
The manager on my new project has asked me to derive a list of RPG
technical questions for a programmer interview she is conducting later
today. The company is coming off of two old platforms (COBOL and Lansa)
and their intent is to do all development in RPGIV, /Free and embedded
SQL. They have been burned previously by a programmer or two who
represented mucho experience only to find that they did not know sh** from
Shinola.
If you have questions to submit which are thoughtful and moderately
involved, please send them to me offline at RWMunday@xxxxxxxxxxxxxx
Thanks,
Robert Munday
Munday Software Consultants
Montgomery, AL
on assignment in Columbia, SC
--
This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.
This e-mail transmission contains information that is intended to be confidential and privileged. If you receive this e-mail and you are not a named addressee you are hereby notified that you are not authorized to read, print, retain, copy or disseminate this communication without the consent of the sender and that doing so is prohibited and may be unlawful. Please reply to the message immediately by informing the sender that the message was misdirected. After replying, please delete and otherwise erase it and any attachments from your computer system. Your assistance in correcting this error is appreciated.
As an Amazon Associate we earn from qualifying purchases.