Ericsson Interview experience for UMI developer role
I was interviewed for role of UMI developer in Ericsson, India. Questions asked in order
My current role — working to reduce cloud cost, responsible for bringing releases, TSH infra and platform issues and creating automation for tasks based on shell, ansible, Jenkins
Diff between entrypoint/cmd in Docker, how can you override any existing cmd with runtime cmd in container? -> Told entry point is for running cmd directly after resources get provisioned but cmd is for running normal cmd (Yes got to know afterwards that entry point runs the cmd irrespective of any cmd in runtime but with CMD keyword we can override existing cmd)
Why helm, lets say you want to scale pods, I can directly scale using kubectl cmd?-> Yes but in case we want to scale 50 pods, won’t use “scale” cmd repetitively for 50 times, but then we can write shell script also?-> Yes , but along with scaling we might need to provision new worker nodes and resources, surely we can do that but why not bundle all the solution and run it via a single cmd only, that’s why helm
What does docker prune do?-> This removes all the images that aren’t used. I said this was related to docker images to be removed, or not to be used in prod
What are the network interfaces in docker? (I said there was a separate interface created in docker networking) , -> checked -there are 5 network interfaces in docker (Bridge, host, None, Overlay, Macvlan)
What are the networks used in OpenStack? (I explained 5 networks- Provisioning , used in Power Management in IPMI, internal api network — used by computes , controllers ,for internal api communication, storage n/w for storage purposes, external for connectivity via jumpiest )
What are br-int and br-ext in OpenStack?-> (I explained about concepts of interfaces which are added to add routers, bridges used not sure abt the exact definition)
What does director node do in OpenStack? -> Explained ETSI Mano based architecture and how overcloud is deployed on top of undercloud as a project and how undercloud/director node has only basic/minimal services like nova, glance, neutron, cinder, swift and used for maintenance , scale in, scale out, security hardening and other functions
How to TSH containers? -> Kubectl cmd with logs , Kubectl describe , go inside container with bash and then run cmd, check using top, /proc directory, metrics or setup alarms
What are hard links and soft links? -> Again I have heard this but said something related to soft reboot and hard reboot, the correct answer expected was that a file with new inode number is created in hard link but file with same inode remains in soft link, so hard link creates a new copy with different inode no but soft link replaces file with same inode number
How can you TSH memory issue in linux ? cmds- “df -h”, “du -sh *”, “top” , “free -m”, or attach a new volume after metrics
Do you know fstab cmd?->(I explained functioning of partitioning , 4 is the limit, physical partitions and then extending to logical partitions, and also about file systems like ifs, ext, ext2, ext3, ext4)-> Aren’t you taking about “fdisk” cmd, I thought shit, I mixed things up,-> answer was that /etc/fstab is a file which contains all the data related to mounted directories with volumes, if we mount any particular volume, then we have to add entry in /etc/fstab cmd or else it will unmount after server reboot
What does netstat cmd do? -> (I used to check it if ports are available or can be used for new services or to check if prod is up to TSH existing services)
How a linux machine is boot up? (No idea, kernels get up via system calls, std textbook definition, I know)-this can help 6 Stages of Linux Boot Process (Startup Sequence)
Have you worked on bcmt in Nokia? -> (Yes, I explained Nokia’s Container Service which I deployed which used CLCM to provision infrastructure and BCMT to run k8s cluster on top of existing infra defined)
How can you separate functionality by flag given in cmd? (I said to use if/else, for multiple files we can use for loop also, and case and also we can create and call functions (std practices) )
What are the network drivers used in Docker?-> Again I was clueless, googled it, answer was Bridge, Host, None, Overlay, Macvlan
How to setup current directory in docker? -> I said we can use WORKDIR (spot on! Hands down)
How to setup current user? -> (use “CMD [“su”,”rajeev”]), haven’t heard abt USER keyword? (I said shit! I should have known), also he asked abt ARGS keyword?-> No idea, but this is self explanatory as ARGS would refer to take in arguments
Docker prune cmd? -> (It is related to turning off/ making container inactive, I mixed “cordon”, no “cordon” is related to k8s and not docker)-> doc says- The docker image prune command allows you to clean up unused images
What will you do if pod is not working?-> will use “docker logs <pod>” or “docker describe” and check for errors, if not then get in container using “docker exec <cmd>” , he says if multiple containers are in error state, I said to keep log files
Memory related ques-What if containers are deleted?ephemeral, I said it will delete existing containers data within? What does pvc do?-> yes if we provision “Persistent Volume claims” , then it will create persistent volumes which can be shared with other pods)
What is difference between swift and cinder?-> I knew this, swift is for object storage like s3 in was and cinder is for block storage which stores the data in blocks.
What is getopts? -> (No idea, I confused with gitops and starting telling about GitHub action, lol)
What are liveness, readiness probes? (I explained abt how liveness probes check if container is ok to be running, also explained a scenario where we migrated to spot instances and it kept on restarting, readiness probes also used to check if the container is ready for new traffic to handle)
What are taints and tolerations in k8s?->(I explained it is like labelling where we want to differentiate based on a criteria) , no what are tolerations do specifically?-> (Shit! Couldn’t recall these allow (but do not require) the pods to schedule onto nodes with matching taints, taken from k8s docs)
What is helm? (Explained how helm is like a package manager for containers, we can deploy full stack micro services based apps using helm, upgrade existing tags)
How to make user feed input while deploying a helm chart? (I explained abt jinja templates to be used)->(again the answer was helm upgrade — install <service> -f values, — values fall to be used, taken from doc)
Using shell cmd, how can you check if ip is ok, up and running?-> (Explained about ping, if not working then see if route is added and traffic is flowing via default gateway, if not then check with “ip a” cmd if interfaces are up or not, or see with “ip r” cmd the route of packets and where it is failing )
How can you make new files created on cron without overriding existing files?->(I said to use datestamps, and timestamps with file name), he asked me any alternative approach? Couldn’t recall, he hinted abt tagging and I said yes we can use “docker create <image>:tags”
Verdict: Rejected