On branch master

Changes to be committed:
	modified:   Questions_Answers.md
master
Mike Holloway 3 years ago
parent 315aa55ab7
commit 0cd721909b
  1. 6
      Questions_Answers.md

@ -1,5 +1,6 @@
## Level 1 Questions ## Level 1 Questions
1. How would you prove the code is correct? 1. How would you prove the code is correct?
To prove the code is correct I suppose I could set up a test environment To prove the code is correct I suppose I could set up a test environment
where I could account for all connections and run tests like where I could account for all connections and run tests like
ssh connections, dhclient or dig (dns) connections, nmap port ssh connections, dhclient or dig (dns) connections, nmap port
@ -7,25 +8,30 @@
appear in the program's output. appear in the program's output.
2. How would you make this solution better? 2. How would you make this solution better?
I'd improve the solution by making the functions more focused on I'd improve the solution by making the functions more focused on
specific tasks, improving how I present the interface of each specific tasks, improving how I present the interface of each
function to each other to more specifically eliminate type function to each other to more specifically eliminate type
or value errors. I'd also allot more time to complete the task or value errors. I'd also allot more time to complete the task
since I wasn't able to find enough before the deadline. since I wasn't able to find enough before the deadline.
3. Is it possible for this program to miss a connection? 3. Is it possible for this program to miss a connection?
Yes, if the connection is brief enough so as not to last more than 10 Yes, if the connection is brief enough so as not to last more than 10
seconds and thereby be missed by the most recent read of the seconds and thereby be missed by the most recent read of the
/proc/net/tcp file /proc/net/tcp file
4. If you weren't following these requirements, how would you solve the problem of logging every new connection? 4. If you weren't following these requirements, how would you solve the problem of logging every new connection?
I would likely find a solution that leverages inotify to detect any change to the file and then read it, I would likely find a solution that leverages inotify to detect any change to the file and then read it,
rather than polling it every 10 seconds. rather than polling it every 10 seconds.
## Level 2 Questions ## Level 2 Questions
1. Why did you choose 'x' to write the build automation? 1. Why did you choose 'x' to write the build automation?
I would simply choose bash, as it's what I'm most familiar with and it I would simply choose bash, as it's what I'm most familiar with and it
can reliably use the go build tools as well as invoke testing can reliably use the go build tools as well as invoke testing
systems like kvm/qemu, docker/podman and the like. systems like kvm/qemu, docker/podman and the like.
2. Is there anything else you would test if you had more time? 2. Is there anything else you would test if you had more time?
If I had more time I'd spend it fleshing out my testing as outlined above If I had more time I'd spend it fleshing out my testing as outlined above
and doing a more thorough job of structuring my data in the way and doing a more thorough job of structuring my data in the way
that I've modeled it in my head - the choice of go definitely that I've modeled it in my head - the choice of go definitely

Loading…
Cancel
Save