Hello,
Recently I had couple of interviews on Web developer role. Though I've over 2 years of experience in PHP, unfortunately, I failed to answer some simple questions. I know that I could have answer them correctly if I could access my computer and write the code.
In my current or previous job, whenever I need to look up for some syntax, I just search it in Google and get the syntax or appropriate function done. But I never tried to memorized them all.
With the experiences of my previous interviews, it seems like I have to, now, memorize everything about PHP or any language that I want to work with.
Is it something I'm doing wrong? Or how do you memorize everything?
UPDATE:
I've recently got a call from the company where I was interviewed. And guess what? I got the job.. :-)
Top comments (26)
No, I don’t think you have to memorize exact syntax. At least not if you aim to work in companies that you really want to work for :) If your interviewers expect you to write syntactically accurate code on a whiteboard, then you probably don’t want to work for that company because they seem to focus on the wrong stuff. That said, make sure that correct syntax is what they are really expecting. Over the years I interviewed many people that got stuck on syntax issues even after mentioning several times that I could not care less about it.
I didn’t mean just the syntax, I meant also the function name and their parameters.
For example, the string helper functions in PHP and JavaScript seem pretty similar to me and thus, I get confused every time I use them. So instead of memorising them, I just google and look up the correct definition for respective language.
Now if the interviewer asks me this on a video-call-interview, obviously I will fail to answer it. What should I do to avoid this scenario?
Same thing, really. I’d simply say “I can never remember the exact name of the function and parameters list, but it looks something like this...” and then tell them what you do remember. Show that you know the concepts, and make it clear that you don’t remember the exact syntax.
Feels great to know that there's also someone in the same page. Thanks for the tip!
Many people have mentioned it and it is true for the most part that memorizing syntax, functions, parameters, design patters, etc... is not really necessary but I want to say that memorization is very valuable as well.
Think of your memorization skill as a cache and looking up things on Google as a hard disk read. The more things you can put into cache (aka memorized) you can develop things quicker, you can manipulate and simulate situations faster.
If at all possible, try to memorize the things you do quite often. The less you need to fetch data from a hard disk (Google) the faster and quicker you can do things.
True, if you use something often then it can very well be worth memorizing ... still, as a company I'd put more emphasis on the candidate's knowledge of the ecosystem around a tech stack, and the ability to design a complete "real world" solution (at least for a senior dev)
Great example. Thank you for your advice!
I don't know about others but in interviews I can blank on simple things. For instance I had an interview question about detecting patterns in a string and for some reason I just completely forgot about regex. I think interviews are stressful and cause different parts of our brain to go into overdrive leaving less "computing power" for lack of a better term for the actual interview questions. Over time things will be come easy and interviews less stressful which will make it easier.
I was asked about “Dependency injections” but I couldn’t answer it as the term was unfamiliar to me. Later on, when the interviewer explained me what it was, then I realised that I was doing this for a long time without know the name or term.
I feel so stupid!
Don't worry about it! Everyone makes mistakes, just keep learning and improving and it will all fall in line :)
Thank you :)
Ridiculous that job interviews put that much emphasis on memorization, they should test problem solving skills and (maybe even more important) attitude & soft skills.
Of course you also need to have a certain level of working knowledge of the programming language/framework/tools you're supposed to use, but it's often taken way too far.
As an example, I've attempted some of the famous Java certification tests and the amount of 'Trivial Pursuit' kind of factual knowledge they assumed you to have was ridiculous, I wasn't able to complete those tests even though I'm sure I'm a competent Java developer.
The job of a developer isn't rote memorization of a ton of useless facts, it is to analyze problems and design solutions.
Exactly! We have storage devices, so I don't see any reason to memorize everything
If the interviewers asked you syntax memorization questions, then they're missing out on lot of much better interview questions to ask.
Interviewers ask this kind of this for two reasons:
A much better kind of interview question is to talk about real projects that you've built, or to debate the advantages or disadvantages of various tools or libraries. Unfortunately, not all interviewers do this.
In reality, all programmers search Google for basic things all the time. I still look up functions every day, and I've been programming for ten years. So it's too bad that you were unlucky in your interviews, because searching for reference material is a very normal everyday thing.
Glad to hear that I'm not alone! :p
I have gone through many interviews and there will always be the one or two questions that trip you up. They are there to test your ability and how you interpret the question they asked and more often than not there is no right or wrong answer unless of course it is a programming related question.
Having said that, there are also a huge amount of ways that will lead you to achieving the same solution. As you learn more you will figure out how to refine those methods.
I have been developing for quite a few years and still have to Google certain syntax, your memory will get better the more that you do it but at the end of the day we are all only human and it is impossible to remember everything about a language. So i wouldn't worry too much! I guarantee that 99% of developers still use Google or the like for syntax or figuring out how to do things. :)
But did you get the job even if you failed to answer those one or two simple questions?
I did yes and went on to do great things with that company.
Focus on what you're good at and i am sure the employer will see that too.
Great!
For the first 2 or 3 years of my career I marveled at how more experienced devs "just knew" all of the syntax by heart. Then slowly I started to memorize it myself. It wasn't until year 4 when I could really crank out code without needing to lookup syntax a lot. You will get there! I think it just comes with repetition and experience. Just recently I coded an entire script on a plane with no internet! Even after 6 years experience that still feels like a big win 😃
Sucks that interviewers are expecting you to have it memorized. We give a coding question during our interview process and one of the first things we tell candidates is that we welcome them to Google whatever they need to bc we know, no one has all the docs memorized.
Wow! That's great..
When you google something enough times, it makes its way into your memory. It helps to know if you can describe in your own words what the function does so even if you don't have access to your computer you can at least say what it does if you forget it's name.
Also some simple things you can familiarise yourself with with code challenges/puzzles etc so an interviewer can't blindside you.
Nothing you're doing wrong at all, good luck for future interviews!
Thank you..
Thanks everyone for commenting!
I've recently got a call from the company where I was interviewed. And guess what? I got the job.. :-)
Albert Einstein — 'Never memorize something that you can look up in a book.' .......or internet
This quote just made my day!