31

You want to land a job as PHP developer? About to go to an interview?

There are two ways:

1. Be able to explain the difference between an interface and an abstract class and their purposes. (I shit you not.)

2. If you aren't able to, then simply state you don't know and are eager to learn.

(The second approach might not work if you claimed to know object oriented programming "very well" before though.)

Yet I am astounded in how many interviews people were either playing smart and just rambled on not wanting to lose face. During the remote calls of some special candidates I could even hear them typing on their keyboards in the background googling the answers to my questions.

And the irony is that I thereby had to veto their appliance. As they had lost my trust in being able to communicate honestly. And for wasting my time.

Our domain is complicated and ever-changing and not knowing certain parts of software development is *normal*.

Yet don't just try to fake it in order to land a job. It won't work, and when it does you may find yourself literally in the company of like-minded individuals.

Comments
  • 13
    This may be a side effect of HR professionals running scripted questions about software development. A correct answer that deviates from their canned answer can result in rejection, as can an honest response that you don't know.
  • 4
    @StefanH Which is also why I currently avoid working for agencies doing work for a customer and prefer working on in-house projects.
  • 2
    Understanding Composer is a huge plus
  • 1
    @RagnarRedbeard lol that has nothing to do with the subject.
  • 1
    @veslav Are you serious?
  • 1
    @RagnarRedbeard I wanted to say almost but my internet died.
  • 2
    @RagnarRedbeard he is right, this isn't necessarily about PHP, I think the poster just used that as an example
  • 1
    So whats the difference then?
  • 3
    @jukerok in short, an interface only provides a contract (some general rules for functions to stick too, stuff like parameters, return values and access modifiers) and no functionality while abstract classes also provide implementation for said functions.

    If I'm not mistaken
  • 2
    @yarwest thanks for the help :D
  • 1
    I always ask the difference between require and include
  • 3
    Other topics I usually ask random questions about:
    - splat
    - repository, factory, singleton
    - psr-7, middleware
    - uncommon magic functions
    - ArrayData vs StdClass
    - return false vs throw
    - yield
    - callbacks
    - event driven, listeners
    - dependency container/injection
    - phpdoc
  • 3
    @DarkMukke There's a a danger that an interview might become too much of a quiz, "Such a pitty, you got three wrong, and your out!" I don't know how you are actually using those questions and at a certain level I expect people claiming to be familiar with a language to know more about the non-trivial stuff, yet you can already have solved some real-world problems without ever having to deal with magic functions, variable variables, and yield. And I don't remember the last time I used either require or include due to psr4 autoloading, and would have just shrugged. (And I actually had to google `splat` from that list as I never used variable unpacking before. Nice one.)
  • 6
    @k0pernikus you could not be more wrong. I hired someone who had all questions wrong. They are conversations starters. If people dont know a question they often stress, people that can show they are stressed but handle it well is what I usually look for. Someone that dictates me the php.net manual is not.
  • 2
    @DarkMukke That's great to hear!
  • 0
    As long as you have a mac and you know how to use NetBeans, you're hired!
  • 1
    @yarwest NetBeans? Surly Eclipse pdt is the way to go :>
  • 0
    @yarwest It's about PHP from the first sentence. Plus, if you're using a language that has a widely-used package manager and don't know anything about it, you might not get the job. Someone else walking in the door with even basic knowledge would spell your doom
  • 0
    @RagnarRedbeard yeah but it's not really the point of the rant. But whatever, it doesn't matter
  • 0
    @k0pernikus not sure why me but I use neither .-.
  • 1
    @yarwest You better don't use neither because those are the worst, productivity killing IDEs around there. Rather use phpstorm, sublime, atom or vim. I mentioned you because I hit reply on the wrong comment. I wanted to poke @panzer-ragu about their comment on netbeans but landed on you instead 🤷 ¯\_(ツ)_/¯
  • 1
  • 0
    @k0pernikus yeah I hate eclipse, no worries :)
Add Comment