A test task for a job interview - mid to senior level
Linux - GeneralThis Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
A test task for a job interview - mid to senior level
Hi
We are in the hiring process for a mid-level to senior level Linux guru. We want to give the candidates a Linux task that should not be too easy and not too difficult. It should be a job that can be completed in 2-3 hours for a mid-level Guru. The task has to demonstrate R&D skills "allowed to use the Internet, but task should not a one liner solution somewhere online" and the skill level of the candidate.
I have thought about some complex Iptables combo with mangle, or some complex apache configuration. Some complex REGEX. Something not too mainstream.
Can you guys please give me some examples/hints/pointers/input ?
In addition to whatever you come up with, throw in:
Fill the file system with millions of 0 byte files to eat up all the inodes but still show loads of disk space free.
Don't give the user ANY access to the server so they have to get in through single user mode first.
If any of your tasks involve a server daemon then set up a cron job to stop the service every 5 minutes, that way if something is fixed then it'll work for testing but then mysteriously stop.
In addition to whatever you come up with, throw in:
Fill the file system with millions of 0 byte files to eat up all the inodes but still show loads of disk space free.
Don't give the user ANY access to the server so they have to get in through single user mode first.
If any of your tasks involve a server daemon then set up a cron job to stop the service every 5 minutes, that way if something is fixed then it'll work for testing but then mysteriously stop.
ROFL, that is BRUTAL. I wish I can use this method, but it can send candidates straight out the door. I wish I can find someone that can tackle this, it would be a gold nugget in the wild.
What are the effects of all inodes being exhausted?
Sounds like no new files could be created anymore, but 'du' or something would list all the files?
What's the trick here?
Anyway, there was something about aliases that I've seen in a problem set before, the aliases were messing up standard system commands and the vict, the subject would have to deal with that.
The solution was related to slashes, to prevent alias expansion, and through that, the aliases could be fixed.
Maybe that would be a thing, unless it's too well known.
(P.S.: This really is just a token suggestion, I'm not too versed to give out anything better... heh)
What are the effects of all inodes being exhausted?
Sounds like no new files could be created anymore, but 'du' or something would list all the files?
What's the trick here?
if they are 0 size files du / df will show plenty of free space but as you say, no files can be created. So it's a nice little test to see if people think the disk is broken or know their inodes
Print the numbers from 1 to 1000 using only shell commands and no loop commands in the shell. (Hint 3 commands in a pipeline).
Give them a log file with some lines that contain some IP addresses (max one IP per line). Get them to write scripts:
1: produce a list of all IPs in the file and how often they occur.
2: Also given a CSV file of IP,node name get them to produce a copy of the log with the node name appended to each line that has an IP.
Do these using awk or another scripting language and without using any scripting language (Hint cut, sort, join, uniq commands)
Honestly, if my resume wasn't good enough and you told me to take an online test, I'd tell you I'm not interested in your job.
That's fine, if you're not interested enough to take a half an hour practical test (that should be a walk-over!) then I'm not interested in hiring you!
(Although, early in my career I did walk out of an interview when faced with a practical I felt was below me!)
That's fine, if you're not interested enough to take a half an hour practical test (that should be a walk-over!) then I'm not interested in hiring you!
(Although, early in my career I did walk out of an interview when faced with a practical I felt was below me!)
I agree with bradvan, but not that I feel such things are 'below' me. To me, it speaks to the culture of the company itself, and the drone-like atmosphere it must have, where such remedial tests are given for no real, practical reason other than to satisfy some HR policy. Those tests tell you very little about a candidate and how they REALLY operate in the real world. Have had a few employees leave over the years who were stellar, but the corporate HR folks wouldn't even give them interviews because their 'scores' on the automated resume-reading programs were low, or their remedial spelling test wasn't perfect. I know this because they'd find out their new boss's name, and I'd reach out. This got them in the DOOR at least.
I take a different tack; interviews are conducted and yes, they are grilled on things, but I'm more interested in how they think and troubleshoot problems, vs. rote memorization or being able to perform task XX. And I also make it CRYSTAL CLEAR that if they can't (or don't) perform and do what they say they can do within the first 90 days, that they're out the door, and that their co-workers are going to have a say in keeping them or not.
I'm very anti-test as well, both as an applicant as well as an employer.
If you can't evaluate someone's talent by speaking with them, then you're not a good interviewer.
Pretty certain there's some stories out there on various sides of the spectrum:
Some highly qualified person intentionally did either:
Bad on purpose to see where it went.
Provided an example far exceeding anything asked, related or not, to prove their point.
Some completely non-qualified person answered using a proxy or some methods to provide answers that showed expertise they did not have, and subsequently showed they received a job offer they were totally not qualified for.
So rather than "add automation", I prefer to handle interviewing a candidate who is going to work with me, "in person". After all, they're going to be on our team ...
Same from the perspective as a candidate. If they can't take the time to review my credentials, have a phone call to see if we're on similar pages, and then conduct an in person interview, versus expect me to take a test? I have a bad impression of their company.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.