Home > DBA, Oracle > The Worst Interview of My Life

The Worst Interview of My Life


The hiring manager was interviewing me for the role of “DBA Architect” and I was prattling about my IT operations philosophy. “Answers to most questions can be found using Google,” I proclaimed grandly. “What’s more important is process.” The manager was not impressed. “I expect my DBAs to know the answers like that,” he said and snapped his fingers to illustrate the point. “Do you mind if I ask you some DBA 101 questions?” I came back to earth in a hurry and meekly agreed to be questioned.

“Let’s suppose I have two redo log groups,” said my interrogator. “The first log group has three members called log 1a, log 1b, and log 1c. The second log group has three members called log 2a, log 2b, and log 2c. Explain how Oracle would use these log groups.”

“That’s easy,” I replied. “You have two redo log groups each containing three members. The members of a redo log group are mirror copies of each other. In your case, you have chosen to triply mirror the redo logs. Oracle writes to one redo log group at a time. It writes the same information to all members of a log group. It will therefore write to log 1a, log 1b, and log 1c first. When they are full, it will switch to log 2a, log 2b, and log 2c. When they are full, it will go back to log 1a, log 1b, and log 1c.”

“Is that your final answer?” he said. “That’s my final answer,” I confidently replied.

“You’re wrong,” he barked. “Oracle will write to log 1a and log 2a first. When they are full, it will switch to log 1b and log 2b. When they are full, it will switch to log 1c and log 2c. When they are full, it will go back to log 1a and log 2a.”

“Perhaps you really have three redo log groups,” I protested. “I would have named them differently though. The first log group would have two members called log 1a and log 1b. The second log group would have two members called log 2a and log 2b. The third redo log group would have two members called log 3a and log 3b.”

“I have just two log groups,” he said sternly. “The first log group has three members called log 1a, log 1b, and log 1c. The second log group has three members called log 2a, log 2b, and log 2c.” “In that case, I stand by my answer,” I said. “Is that really your final answer?” he said. “That’s really my final answer,” I said.

“When you get home, why don’t you Google the answer and let me know if you change your mind,” said the man with the power as he ushered me toward the door.

When I got home, I sent him a link to the relevant sections of the Oracle documentation as well as my book.

From the Oracle glossary:

“Each online redo log member (which corresponds to an online redo log file) belongs to a redo log group. Redo log groups contain one or more members. A redo log group with more than one member is called a multiplexed redo log group. The contents of all members of a redo log group are identical.”

From my book:

“It is typical to mirror each redo log file; a mirrored set of redo log files is referred to as a redo log group. It is also typical to put each member of a redo log group on a different storage disk. All the members of a redo log group have the same size; the log writer process stores the same information in all members of a redo log group. Oracle can therefore continue to operate as long as at least one member of each redo log group is undamaged.”

Unsurprisingly, I never heard back from him. It was definitely the worst interview of my life. You’ve got to hate it when the interviewer doesn’t know the answers to his own questions.

I stick by my claim that process is more important than bookish knowledge. How to shut down a database you ask? I know how to shut down my database but I don’t know how to shut down your database. Is your database on a Unix, Windows, or VMS server? Is it a RAC database or a single-instance database? Are you using version 7.3 or 11.2? Are you using Veritas Cluster Server, Sun Cluster, HP Serviceguard, or Windows Cluster? Whose authorization is necessary for the shutdown and who needs to be informed? Should monitoring and alerting be disabled? Do the users need the database at this time? Will any jobs fail if the database is shut down? What should be done about transactions and jobs in progress? Haven’t you written this down somewhere? Why not? How would the next DBA know what to do?

Happy Halloween.

It Was a Dark and Stormy Night (A Story About Deadlocks)

Categories: DBA, Oracle
  1. ellis miller
    October 31, 2010 at 4:07 pm

    Definitely better off not having impressed the ass-clown;) After 32 contracts have learned that is a overwhelming, never-ending battle the most qualified almost always lose: work for an FDA-approved bureaucratic poser and the pain never ends until the contract/position ends.

    On any level the guy was not only ignorant but completely unprofessional.

    Still, appreciate the post. Always reassuring to know one isn’t alone.

  2. Connor
    October 31, 2010 at 6:18 pm

    Yup…nothing worse than applying for a job where your job will be to mentor, lead, inspire people, and yet you get questioned on “how many comma’s are needed to make this DECODE work”…. Oh well, you can always take comfort in the fact that people who ask questions like that will inevitably end up with exactly the person they deserve 🙂

  3. October 31, 2010 at 8:21 pm

    I freely admit to frequently looking up the SQL Language Reference for Syntax and Keywords.

    Knowledge of concepts and “what is what” (is it a Redo Log Group or is it a Member ?) is what is necessary.

    Unfortunately, some find it embarrassing to have to lookup the manuals from time to time — whether it is themselves or their subordinates doing it.

  4. Narendra
    October 31, 2010 at 9:07 pm

    Iggy,

    Completely agree. Unfortunately, nowadays, it seems it is more important to give the answer what your interviewer wants to hear (even if it is wrong) than to give correct answer (or sometimes politely try to suggest that the question is not valid). I am right now in a position (out of work) and am really struggling to cope up with this kind of approach. Let’s see.

  5. Gary
    October 31, 2010 at 10:20 pm

    The primary purpose of the interview is to find out (a) whether the candidate wants the job, and (b) whether the employer wants the candidate.
    Working for a bloke who won’t accept that they might be wrong isn’t a dream job, so I think you dodged a bullet. Of course there are circumstances where any job is better than none, but a successful interview doesn’t always end with a job offer.

  6. October 31, 2010 at 10:23 pm

    Perhaps, Interviewer need to hear, he’s right more than the correct answer.

    Happy Halloween.

  7. November 1, 2010 at 12:45 am

    Glad that you were not selected. Wondering who answered his question “correctly” and was hired.

  8. November 1, 2010 at 12:47 am

    Sometimes it is really painful to find a good candidate. And when you do too many interviews, you often try to find someone that fits the team (and will know a lot about every technologie, but still a lot less than the team lead!!!)

    Good luck for your next interview

  9. November 1, 2010 at 5:18 am

    Well, this is what it is. I am currently in same position. As, i know i don’t know everything but what i know( the small part) i know very well. And if someone challenge on this it’s too hard to explain. I had once ended up with a job where higher management decision was final and at the end of day no job satisfaction. Where you have provided test case to prove your concept but will go with some dumb..

    Good Luck and Happy Halloween

  10. Iggy Fernandez
    November 1, 2010 at 8:39 am

    I’ve had my fair share of cordial job interviews. In one case in which I was hired, the hiring manager commented that nobody seemed interested in asking me technical questions because everybody knew me 🙂

    Early in my career, I applied for a programmer job. They asked me “How comfortable are you with C?” I had never written a C program before but I had been reading The C Programming Language by Kernighan and Ritchie and wanted to be a C programmer. They hired me anyway and I went on to do much better than the experienced C programmers.

    I once interviewed Jeremiah Wilton for the NoCOUG Journal (https://iggyfernandez.files.wordpress.com/2009/08/interview-nocoug-200711-jeremiah-wilton.pdf) and asked him for his approach to hiring. He said:

    To me, senior means that you have used a lot of Oracle’s features, solved a lot of problems, and experienced a variety of production situations. Do these qualities necessarily mean that I will want to hire you? No. Of far greater importance than seniority is a DBA’s ability to solve problems in a deductive and logical manner, to synthesize creative solutions to problems, and to forge positive and constructive business relationships with colleagues and clients. For years at Amazon, we simply tried to hire extraordinarily smart people with a strong interest in working with Oracle and others. Some of Amazon’s most senior DBAs started with little or no Oracle experience. I believe that the focus on experience in specific technologies and seniority causes employers to pay more and get less than they could when filling DBA positions.

    A company that I worked for, Database Specialists, uses an innovative interviewing approach that involves a simulation of a database crisis (https://iggyfernandez.wordpress.com/2009/11/23/an-essential-dba-skill-2/). They definitely understood that “of far greater importance than seniority is a DBA’s ability to solve problems in a deductive and logical manner, to synthesize creative solutions to problems, and to forge positive and constructive business relationships with colleagues and clients.”

    Cheers.

  1. June 7, 2015 at 12:34 pm

Leave a comment