Coding interview advice (not for a programming job)

CyberCop123CyberCop123 Member Posts: 338 ■■■■□□□□□□
Hi Everyone,

This may all be for nothing as I still have to get past a 45 minute technical telephone call first. But if I do the next stage is

60 minute coding test

This is something I do from home, but with someone monitoring via a remote tool they use. I can choose any language I want - and I will choose Python.

The job is a Cyber Security Engineer. They had said that they do not recruit people to fulfil one job, e.g. some members of their team program 90% of the time as that is what they're good at and enjoy. Others do it 10% and focus more on general security, user awareness, etc....

I am NOT a programmer. I am not good at Computer Science. I described myself to them as a hacker/coder/scripter and they said that's fine as others are the same. They did advise doing a practice question online and timing myself, just so I get used to that feeling.

Has anyone got any other advise about this?
I plan to do a bit of preparation over the weekend, maybe playing around with lists, dicts, some structures, a few simple programs of around 100 lines, just to get my brain working as I don't use Python all the time - just whenever I need to.

Thanks everyone,
My Aims
2017: OSCP -
COMPLETED
2018: CISSP -
COMPLETED
2019: GIAC GNFA - Advanced Network Forensics & Threat Hunting -
COMPLETED
           GIAC GREM - Reverse Engineering of Malware -
COMPLETED

2021: CCSP
2022: OSWE (hopefully)

Comments

  • networker050184networker050184 Mod Posts: 11,962 Mod
    I've done two "coding interviews" at this point and I'm definitely no programmer. I can throw some scripts together with some googling or hack around with examples but thats about it.

    Both interviews were fairly similar and my first one was a disaster. The way I had been practicing was to run the code over and over while I peck away seeing where my mistakes are and what work. When the interview came around there was no way to run the code and it threw me off big time and I stumbled around a bit. Second time I was much more prepared and did pretty well.

    Some things that helped me:

    Running through the challenges at https://www.codewars.com/ really helped getting me thinking of different ways to solve problems.
    Trying to write out the code without running through the interpreter every step of the way.
    Study the basics of different data types (lists, dictionaries, etc.).
    Practice manipulating text files.
    Regex matching was a part of both of my interviews.


    Good luck!
    An expert is a man who has made all the mistakes which can be made.
  • techie2018techie2018 Member Posts: 43 ■■■□□□□□□□
    Hopefully you will be allowed an IDE. If so that will make things much easier.
  • CyberCop123CyberCop123 Member Posts: 338 ■■■■□□□□□□
    Thanks guys, yea I think it is an IDE but not entirely sure. I'm quite nervous about it. I have my technical telephone call today at 4pm so I need to get through that first.

    Like you networker I am in the habit of typing 1-2 lines and running it. I must run it about 50 times in a few hours as I go along.

    I did a practice script yesterday which was:

    Write a script that takes in a list of 3 letter words and outputs anagrams of them as a list of lists


    E.g. cat hat mat would output:

    cat
    atc
    tac
    hat
    ath
    etc......

    I realised quite quickly that it's probably a good idea to spend 3-4 minutes with a piece of paper and plan what I'm going to do. That script took me about 2 hours but I wasn't really working very effectively.

    Will do some more work on this and also use the site that was recommended - https://www.codewars.com/
    My Aims
    2017: OSCP -
    COMPLETED
    2018: CISSP -
    COMPLETED
    2019: GIAC GNFA - Advanced Network Forensics & Threat Hunting -
    COMPLETED
               GIAC GREM - Reverse Engineering of Malware -
    COMPLETED

    2021: CCSP
    2022: OSWE (hopefully)
  • CyberCop123CyberCop123 Member Posts: 338 ■■■■□□□□□□
    **UPDATE**

    Telephone interview went very well. Was actually quite easy. I'd be amazed (and gutted) if I don't get to the next stage as there were no major issues and it felt good.

    Going to start preparing for coding interview. As stated I've been told it won't be a computer science style scenario as it's not a programming role. My maths is terrible so I hope there's nothing like that in there.

    In preparation I'm going to practice writing code with:

    - tuple, list, dict
    - file writing and reading
    - different loops

    Maybe have some examples and related functions prepared.

    Any other features or areas you guys think I should prepare for and practice?
    My Aims
    2017: OSCP -
    COMPLETED
    2018: CISSP -
    COMPLETED
    2019: GIAC GNFA - Advanced Network Forensics & Threat Hunting -
    COMPLETED
               GIAC GREM - Reverse Engineering of Malware -
    COMPLETED

    2021: CCSP
    2022: OSWE (hopefully)
  • NetworkNewbNetworkNewb Member Posts: 3,298 ■■■■■■■■■□
    Yea, if phone interviews even go just OK I'd be surprised if they didn't bring that person in. Interested to here how the coding interview goes. Good luck!
  • CyberCop123CyberCop123 Member Posts: 338 ■■■■□□□□□□
    Confirmed that I have got through to the coding interview stage. It will be next week - possibly Wednesday. I am worried that I may not have any facility to run the code. If that's the case then I may type some segments out in my own local IDE and then transfer over once i know they work.

    From some practicing I think my main issue is that I am hacking the code together. E.g. I forget easily whether I should be using a dict or list, how to add things to it, .e.g update, append and sometimes how to play around with them.

    Basic things. It's only because all the things I've coded before I've done in my own time. Doing it with a clock ticking is a whole new experience.
    My Aims
    2017: OSCP -
    COMPLETED
    2018: CISSP -
    COMPLETED
    2019: GIAC GNFA - Advanced Network Forensics & Threat Hunting -
    COMPLETED
               GIAC GREM - Reverse Engineering of Malware -
    COMPLETED

    2021: CCSP
    2022: OSWE (hopefully)
  • networker050184networker050184 Mod Posts: 11,962 Mod
    I may type some segments out in my own local IDE and then transfer over once i know they work.

    Not an option on the ones I've been on. They want you to type it all out in the shared screen. I think the most important part they want to see is your thought process working through the exercise.
    An expert is a man who has made all the mistakes which can be made.
  • DoubleNNsDoubleNNs Member Posts: 2,015 ■■■■■□□□□□
    You're allowed to write psuedo-code in places where you don't know the specifics. They want to make sure you understand the problems and know how to solve it, and they judge you more so on your thought process and mastery of the language than on the correctness of your code.

    You might even have an interviewer who isn't the most familiar w/ the programming language you choose to use.
    Goals for 2018:
    Certs: RHCSA, LFCS: Ubuntu, CNCF CKA, CNCF CKAD | AWS Certified DevOps Engineer, AWS Solutions Architect Pro, AWS Certified Security Specialist, GCP Professional Cloud Architect
    Learn: Terraform, Kubernetes, Prometheus & Golang | Improve: Docker, Python Programming
    To-do | In Progress | Completed
  • CyberCop123CyberCop123 Member Posts: 338 ■■■■□□□□□□
    Thanks to you both. The two people I've spoken to so far seemed very nice, both very humble and modest. As stated, they say that members of the team are coders/scripters rather than programming so they understand that not everyone is great.

    I do think it's a bit of luck in terms of what scenario I am given. If it's maths related then I am screwed as I'm terrible at it!

    My biggest concern is being totally and completely confused to the point I just embarrass myself but not being able to write anything.
    My Aims
    2017: OSCP -
    COMPLETED
    2018: CISSP -
    COMPLETED
    2019: GIAC GNFA - Advanced Network Forensics & Threat Hunting -
    COMPLETED
               GIAC GREM - Reverse Engineering of Malware -
    COMPLETED

    2021: CCSP
    2022: OSWE (hopefully)
  • CyberCop123CyberCop123 Member Posts: 338 ■■■■□□□□□□
    UPDATE

    Had this interview last night, it was a total and utter disaster!

    Firstly, I was very tired as I had a job interview the day before and was offered the job, and so was up all night wondering whether to take it or not! Anyway, the day of the interview I had a fairly long day at work which was unexpected.

    Got home, tired and just not really in the mood at all.

    The hardest part of the interview was that the person was on the phone the entire time. So there was a web browser and he pasted in some text to explain what function he wanted, and then he asked me to complete it. All the while he is on the phone listening and watching what I type.

    I sometimes struggle with logic in programming, and do type stuff... try it ... adjust it... try it again ... change code .... try again - so I really do just butcher the code together. That obviously doesn't work when you have to just type out code in plain text whilst someone is watching you. Networker referred to this being an issue for him/her as well on one of the interviews they had.

    I eventually did get one function working, then he wanted more functionality, and more. At the end I just had to say "I'm just not sure tbh... I'm struggling to work this out". Quite clear it wasn't a good interview.

    Anyway, was an interesting experience and just not for me I guess!

    Thanks for all your advice though.
    My Aims
    2017: OSCP -
    COMPLETED
    2018: CISSP -
    COMPLETED
    2019: GIAC GNFA - Advanced Network Forensics & Threat Hunting -
    COMPLETED
               GIAC GREM - Reverse Engineering of Malware -
    COMPLETED

    2021: CCSP
    2022: OSWE (hopefully)
  • devilbonesdevilbones Member Posts: 318 ■■■■□□□□□□
    UPDATE

    Had this interview last night, it was a total and utter disaster!

    Firstly, I was very tired as I had a job interview the day before and was offered the job, and so was up all night wondering whether to take it or not! Anyway, the day of the interview I had a fairly long day at work which was unexpected.

    Got home, tired and just not really in the mood at all.

    The hardest part of the interview was that the person was on the phone the entire time. So there was a web browser and he pasted in some text to explain what function he wanted, and then he asked me to complete it. All the while he is on the phone listening and watching what I type.

    I sometimes struggle with logic in programming, and do type stuff... try it ... adjust it... try it again ... change code .... try again - so I really do just butcher the code together. That obviously doesn't work when you have to just type out code in plain text whilst someone is watching you. Networker referred to this being an issue for him/her as well on one of the interviews they had.

    I eventually did get one function working, then he wanted more functionality, and more. At the end I just had to say "I'm just not sure tbh... I'm struggling to work this out". Quite clear it wasn't a good interview.

    Anyway, was an interesting experience and just not for me I guess!

    Thanks for all your advice though.
    Good job. They might have been looking how you actually tackle the problem, not whether or not you can get it fully functioning.
  • DoubleNNsDoubleNNs Member Posts: 2,015 ■■■■■□□□□□
    They definitely wanted to see how you approach the problems. Thats why they're on the phone. If you're struggling to get it to work, try your best to explain the part you're tripped up on. Even when you get it working perfectly fine, still try your best to explain.

    Unfortunately, it might not be the BEST way to gauge a programmer's skill at attacking problems, but it's such a widespread and common method that the interviewer can assume you've done it before or at least were aware enough to prepare a bit and practice. It's important for people to be able to talk through technical problems when they are collaborating. If you plan on getting a role that is heavy in automation in the future, you should practice a bit on 1) how to approach programming tasks in the most efficient manner FOR YOU 2) how to talk through your process while you're doin it. It's also a great way to become more mindful of your assumptions, habits, strengths, and weaknesses.

    Sounds like a great first experience since it exposed you to another form of interviews, even if you didn't pass this specific interview. Good luck on the job hunt and on your next coding interview!
    Goals for 2018:
    Certs: RHCSA, LFCS: Ubuntu, CNCF CKA, CNCF CKAD | AWS Certified DevOps Engineer, AWS Solutions Architect Pro, AWS Certified Security Specialist, GCP Professional Cloud Architect
    Learn: Terraform, Kubernetes, Prometheus & Golang | Improve: Docker, Python Programming
    To-do | In Progress | Completed
Sign In or Register to comment.