Passed CKS (study details inside)

Another awesome class, Mumshad (and Vijin!)

Passed CKS. Primary study technique: Drilling on the labs

In more detail - I went through the lectures once and took the labs along with them. Then I went through the labs a few times, focusing on speed - did I remember the material or not? Did I remember shortcuts or not? Did I trip over my own fingers?

I went through the labs about 6 times. It took 5:15 hours the first time and 2:34 hours the last time (minus three labs). I pulled my average lab down from 8:30 minutes to 4:41.

I ALSO used the labs over at KillerCoda (Killer Shell CKS | Killercoda). These are in a completely different character than KodeKloud’s - I think they are complementary: I found both useful. I went through those labs 19 times. The first time took 3:23 hours and the last 1:05 hours (leaving out 7 labs that I did, but just kept separate). What I noticed is that, by drilling, I improved the times AND THEN I started to understand the material. I also STOPPED drilling on a lab when three in a row were within 10% of my best time - I dropped 19 labs by doing that.

There’s one self-research point that I’ll give away that helped with the labs:

When netstat is not installed and you need to get details on a process attached to a listening port (say, 1234):

$ netstat -anp | grep 1234
# oops!  netstat not installed

You can:
$ apt install -y net-tools
(wait for 15-20 seconds)...or:

$ printf %X 1234  # 4D2
grep 4D2 /proc/net/tcp
  2: 0000000:04D2 00000000:0000 0A 00000000:00000000 00:00000000 00000000    0       0 80663 1 ffff911d15679180 100 0 0 10 0
 
$ find /proc/*/fd/* -type l | xargs ls -l | grep 80663
<snip>
lrwx------ 1 root      root  ... /proc/23051/fd/3 -> socket:[80663]

$ ps -fp 23051
UID       PID   PPID  C STIME TTY         TIME CMD
root    23051      1  0 16:28 ?       00:00:00 /usr/bin/badly.behaved.server -p 1234

$ kill 23051
$ rm /usr/bin/badly.behaved.server

So, drilling on those 20-30 repetitions at a time, one set a day (mixed with other “drills”) was fun.

Many congratulations @Chroisa :innocent: :partying_face: :partying_face: . Thanks for sharing your journey with us. We glad you liked our courses and labs. :grinning:
I also agreed. Do the practice on labs until you are not familiar with commands and concepts and resources etc.
Major tip: - Practice a lot before the exam. so during the exam, after seeing the question your finger should type the commands without knowing you. :sweat_smile:

@Tej-Singh-Rana : I agree. PRACTICE is vital. That finger-memory is important. All told, I completed ~805 labs and attempted-only a bit more than that. Add in drills and it’s easily over a thousand – but that wasn’t a target - being familiar with the material (tracking each lab until I wasn’t making any more progress…and I had it down) was essential.

In multiple labs and mock exams, I didn’t have the answer and it was frustrating. I’d pause and focus on that one until I could get it “right”…and then I’d learn something new - like a habit for restarting kube-apiserver:

ps -ef | grep api
kill ####
systemctl restart kubelet

Or getting familiar with tmux commands and setting it up EVERY time at the start of a lab, then getting cozy with moving around in it - did I need to split screen (SOO helpful to me) or open a new pane or zoom for a second? I found tmux extremely valuable.