1. Linux Boot Process
Will post in Couple of days...
2. Difference Between Active FTP and Passive FTP
FTP is an unusual protocol in that it uses two ports, one for commands and the other for data. (This is one of the reasons it is superior to HTTP for transferring large files.)
Actice FTP
The client initiates a connection on the server’s command port. The server then initiates a connection with the client from its data port.
if you maintain a active FTP server, the FTP Server is the active part during the whole session. When a client starts an active FTP Session, the server will initiate data transfer.
Your client connects to the FTP server by establishing an FTP control connection to port 21 of the server.
Whenever the client requests data over the control connection, the server initiates data transfer connections back to the client. The source port of these data transfer connections is always port 20 on the server, and the destination port is a high port (greater than 1024) on the client.
Passive FTP
Passive FTP, the client initiates both connections with the server, which remains “passive”.
Active FTP may cause problems if your client is behind a firewall.
Passive FTP on the other hand, requires the client to be the active part, i.e. once control session is established it will ask for a port with which data connection will take place, and finally initiate data connection with the port received.
Whenever the client requests data over the control connection, the client initiates the data transfer connections to the server.
Your client connects to the FTP server by establishing an FTP control connection to port 21 of the server.
Note: Passive FTP is considered more secure than active FTP
3.
###
Special Permissions ###
Linux files are setup so access to them is controlled. There are three types of access:
1. read
2. write
3. execute
Each file belongs to a specific user and group. Access to the files is controlled by user, group, and what is called other. The term, other, is used to refer to someone who is not the user (owner) of the file, nor is the person a member of the group the file belongs to. When talking about setting permissions for "other" users to use, it is commonly referred to as setting the world execute, read, or write bit since anyone in the world will be able to perform the operation if the permission is set in the other category.
Type field: The first character in the field indicates a file type of one of the following:
* d = directory
* l = symbolic link
* s = socket
* p = named pipe
* - = regular file
* c= character (unbuffered) device file special
* b=block (buffered) device file special
There are three such special permissions within Gnu/Linux Environment. They are:
* setuid — used only for applications, this permission indicates that the application is to run as the owner of the file and not as the user executing the application. It is indicated by the character s in place of the x in the owner category. If the owner of the file does not have execute permissions, the S is capitalized to reflect this fact.
*setgid — used primarily for applications, this permission indicates that the application is to run as the group owning the file and not as the group of the user executing the application.
If applied to a directory, all files created within the directory are owned by the group owning the directory, and not by the group of the user creating the file. The setgid permission is indicated by the character s in place of the x in the group category. If the group owner of the file or directory does not have execute permissions, the S is capitalized to reflect this fact.
*sticky bit — used primarily on directories, this bit dictates that a file created in the directory can be removed only by the user that created the file. It is indicated by the character t in place of the x in the everyone category. If the everyone category does not have execute permissions, the T is capitalized to reflect this fact.
Note:
UIDs and GIDs must be globally unique within your organization if you intend to share files and resources over a network. Otherwise, whatever access controls you put in place may fail to work properly, as they are based on UIDs and GIDs, not usernames and group names.
Specifically, if the /etc/passwd and /etc/group files on a file server and a user's workstation differ in the UIDs or GIDs they contain, improper application of permissions can lead to security issues.
The /etc/passwd file must be world-readable (the main reason being that this file is used to perform the translation from UID to username), there is a risk involved in storing everyone's password in /etc/passwd. True, the passwords are encrypted. However, it is possible to perform attacks against passwords if the encrypted password is available.
Therefore, the /etc/shadow file is readable only by the root user and contains password (and optional password aging information) for each user.
/etc/shadow file stores actual password in encrypted format for user's account with additional properties related to user password i.e. it stores secure user account information. All fields are separated by a colon (:) symbol.The encoding mechanism used for Unix passwords was (and is) very secure, being a one-way algorithm. One popular protocol used on Linux is called MD5
What is Linux and why is it so popular?
Answer - Linux is a Kernel, GNU/Linux becomes a complete operating system, which is similar to unix architecture
What is LILO?
Answer - LILO is Linux Loader is a boot loader for Linux. It is used to load Linux into the memory and start the Operating system.
What is GRUB?
GRUB is a Intelligent and Smart BootLoader, GRUB stands for Grand Unified Boot Loader
What is the difference between home directory and working directory?
Answer - Home directory is the default working directory when a user logs in. On the other hand, working directory is the user’s current directory.
What is the difference between internal and external commands?
Answer - Internal commands are commands that are already loaded in the system. They can be executed any time and are independent.
Explain the difference between a static library and a dynamic library.
Answer - Static libraries are loaded when the program is compiled and dynamically-linked libraries are loaded in while execution
What is LD_LIBRARY_PATH?
Answer - LD_LIBRARY_PATH is an environment variable. It is used for debugging a new library or a non standard library.......
What is the file server in Linux server?
Answer - File server is used for file sharing. It enables the processes required for sharing. It can be NFS Service or SAMBA Service
What is NFS? What is its purpose?
Answer - NFS is Network File system. It is a file system used for sharing of files over a network. It support only Homogeneous Servers. It does not work with cross platform. It only communicate between unix and linux fileservers
Explain RPM (Red Hat Package Manager) features.
Answer - RPM is a package managing system (collection of tools to manage software packages). It is a bundle with all the binaries and script etc
What is Kernel? Explain the task it performs.
Answer - Kernel is the integral part of the any operating systems and is considered to be the heart of the operating system. Which closely interacts with the hardware
What is Linux Shell? What is Shell Script?
Answer - Linux shell is a user interface used for executing the commands. Shell is a program the user. Default shell for GNU/Linux is BASH shell
What are Pipes? Explain use of pipes.
Answer - A pipe is a chain of processes so that output of one process (stdout) is fed an input (stdin) to another. It is used for chaining the programs
Explain trap command; shift Command, getopts command of linux.
Answer - Trap command: controls the action to be taken by the shell when a signal is received.
What Stateless Linux server? What feature it offers?
Answer - A stateless Linux server is a centralized server in which no state exists on the single workstations. In other words it doesn’t not have the harddisk file , the entire os sits at the RAM Space
What does nslookup do? Explain its two modes.
Answer - Nslookup is used to find details related to a Domain name server. Details like IP addresses of a machine, MX records,
What is Bash Shell?
Answer - Bash is a default shell for UNIX. It is the default shell for most UNIX systems. It has a combination of the C and Korn shell features.
Explain some Network-Monitoring Tools in Linux: ping, traceroute, tcpdump, ntop , tracepath
Answer - Network monitoring tools are used to monitor the network, systems present on the network, traffic etc.
How does the linux file system work?
Answer - Linux file structure is a tree like structure. It starts from the root directory, represented by '/', and then expands into sub-directories.
/bin, /sbin, /home, /usr, /opt, /mnt, /media, /boot, /root, /lib, /tmp, /proc, /dev …
What are the process states in Linux?
Process states in Linux:
Running: Process is either running or ready to run
Interruptible: a Blocked state of a process and waiting for an event or signal from another process
Uninterruptible: a blocked state. Process waits for a hardware condition and cannot handle any signal
Stopped: Process is stopped or halted and can be restarted by some other process
Zombie: process terminated, but information is still there in the process table.
What is a zombie process?
Zombies are processes that are dead but have not been removed from the process table. Zombies are created when a parent process terminates without waiting for the child process to complete it's execution. The child process after termination exists as a zombie in the system
How do I see if there are zombie processes on a system?
Run “ps aux” and look for a Z in the STAT column
#top
# ps aux
awk '{ print $8 " " $2 }'
grep -w Z
How do I remove zombie processes from a system?
Well, first you can wait. It’s possible that the parent process is intentionally leaving the process in a zombie state to ensure that future children that it may create will not receive the same pid. Or perhaps the parent is occupied, and will reap the child process momentarily.
Secondly, you can send a SIGCHLD signal to the parent (“kill -s SIGCHLD
“). This will cause well-behaving parents to reap their zombie children.
Finally, you can kill the parent process of the zombie. At that point, all of the parent’s children will be adopted by the init process (pid 1), which periodically runs wait() to reap any zombie children.
Explain each system calls used for process management in linux.
Answer - System calls used for Process management.
Which command is used to check the number of files and disk space used and the each user’s defined quota?
repquota command is used to check the status of the user’s quota along with the disk space and number of files used. This command gives a summary of the user’s quota that how much space and files are left for the user. Every user has a defined quota in Linux. This is done mainly for the security, as some users have only limited access to files. This provides a security to the files from unwanted access. The quota can be given to a single user or to a group of users.
What is the name and path of the main system log?
By default the main system log is /var/log/messages. This file contains all the messages and the script written by the user. By default all scripts are saved in this file. This is the standard system log file, which contains messages from all system software, non-kernel boot issues, and messages that go to 'dmesg'. dmesg is a system file that is written upon system boot.
How secured is Linux? Explain.
Security is the most important aspect of an operating system. Due to its unique authentication module, Linux is considered as more secured than other operating systems. Linux consists of PAM. PAM is Pluggable Authentication Modules. It provides a layer between applications and actual authentication mechanism. It is a library of loadable modules which are called by the application for authentication. It also allows the administrator to control when a user can log in. All PAM applications are configured in the directory "/etc/pam.d" or in a file "/etc/pam.conf". PAM is controlled using the configuration file or the configuration directory.
Can Linux computer be made a router so that several machines may share a single Internet connection? How?
Yes a Linux machine can be made a router. This is called "IP Masquerade." IP Masquerade is a networking function in Linux similar to the one-to-many (1: Many) NAT (Network Address Translation) servers found in many commercial firewalls and network routers. The IP Masquerade feature allows other "internal" computers connected to this Linux box (via PPP, Ethernet, etc.) to also reach the Internet as well. Linux IP Masquerading allows this functionality even if the internal computers do not have IP addresses.
The IP masquerading can be done by the following steps:
1. The Linux PC must have an internet connection and a connection to LAN. Typically, the Linux PC has two network interfaces-an Ethernet card for the LAN and a dial-up PPP connection to the Internet (through an ISP).
2. All other systems on your LAN use the Linux PC as the default gateway for TCP/IP networking. Use the same ISP-provided DNS addresses on all systems.
3. Enable IP forwarding in the kernel. By default the IP forwarding is not enabled. To ensure that IP forwarding is enabled when you reboot your system, place this command in the /etc/rc.d/rc.local file.
4. Run /sbin/iptables-the IP packet filter administration program-to set up the rules that enable the Linux PC to masquerade for your LAN.
What is the minimum number of partitions you need to install Linux?
Minimum 2 partitions are needed for installing Linux. The one is / or root which contains all the files and the other is swap. Linux file system is function specific which means that files and folders are organized according to their functionality. For example, all executables are in one folder, all devices in another, all libraries in another and so on. / or ‘root’ is the base of this file system. All the other folders are under this one. / can be consider as C: .Swap is a partition that will be used as virtual memory. If there is no more available RAM a Linux computer will use an area of the hard disk, called swap, to temporarily store data. In other words it is a way of expanding your computers RAM.
Which command is used to review boot messages?
dmesg command is used to review boot messages. This command will display system messages contained in the kernel ring buffer. We can use this command immediately after booting to see boot messages. A ring buffer is a buffer of fixed size for which any new data added to it overwrites the oldest data in it. Its basic syntax is
dmesg [options]
Invoking dmesg without any of its options causes it to write all the kernel messages to standard output. This usually produces far too many lines to fit into the display screen all at once, and thus only the final messages are visible. However, the output can be redirected to the less command through the use of a pipe, thereby allowing the startup messages to be viewed on one screen at a time
dmesg
less
Which utility is used to make automate rotation of a log?
logrotate command is used to make automate rotation of log.
Syntax of the command is:
logrotate [-dv] [-f
] [-s
] config_file+
It allows automatic rotation, compression, removal, and mailing of log files. This command is mainly used for rotating and compressing log files. This job is done every day when a log file becomes too large. This command can also be run by giving on command line. We can done force rotation by giving –f option with this command in command line. This command is also used for mailing. We can give –m option for mailing with this command. This option takes two arguments one is subject and other is recipient name.
What are the partitions created on the mail server hard drive?
The main partitions are done firstly which are root, swap and boot partition. But for the mail server three different partitions are also done which are as follows:
1. /var/spool- This is done so that if something goes wrong with the mail server or spool than the output cannot overrun the file system.
2. /tmp- putting this on its own partition prevents any user item or software from overrunning the system files.
3. /home- putting this on its own is useful for system upgrades or reinstalls. It allow not to wipe off the /home hierarchy along with other areas.
What are the fields in the/etc/passwd file?
It contains all the information of all the users exist in the system with their UID,GID, Home Dir etc
Which commands are used to set a processor-intensive job to use less CPU time?
nice command is used for changing priority of the jobs.
Syntax: nice [OPTION] [COMMAND [ARG]...]
Range of priority goes from -20 (highest priority) to 19 (lowest).Priority is given to a job so that the most important job is executed first by the kernel and then the other least important jobs. This takes less CPU times as the jobs are scheduled and are given priorities so the CPU executes fast. The priority is given by numbers like -20 describe the highest priority and 19 describe the least priority.
How shadow passwords are given?
pwconv command is used for giving shadow passwords. Shadow passwords are given for better system security. The pwconv command creates the file /etc/shadow and changes all passwords to ‘x’ in the /etc/passwd file. First, entries in the shadowed file which don't exist in the main file are removed. Then, shadowed entries which don't have `x' as the password in the main file are updated. Any missing shadowed entries are added. Finally, passwords in the main file are replaced with `x'. These programs can be used for initial conversion as well to update the shadowed file if the main file is edited by hand.
How do you create a new user account?
Useradd/adduser command is used for creating a new user account. When invoked without the
-D option, the useradd command creates a new user account using the values specified on the command line and the default values from the system. The new user account will be entered into the system files as needed, and initial files copied, depending on the command line options. This command uses the system default as home directory. If –m option is given then the home directory is made.
Which password package is installed for the security of central password?
Shadow password packages are used for security of central passwords. Security is the most important aspect of every operating system. When this package is not installed the user information including passwords is stored in the /etc/passwd file. The password is stored in an encoded format. These encoded forms can be easily identified by the System crackers by randomly encoding the passwords from dictionaries. The Shadow Package solves the problem by relocating the passwords to another file (usually /etc/shadow). The /etc/shadow file is set so that it cannot be read by just anyone. Only root will be able to read and write to the /etc/shadow file.
Which daemon is used for scheduling of the commands?
The crontab command is used for scheduling of the commands to run at a later time. SYNTAX
crontab [ -u user ] file
crontab [ -u user ] { -l
-r
-e }
Options
-l List - display the current crontab entries.
-r Remove the current crontab.
-e Edit the current crontab using the editor specified by the VISUAL or EDITOR environment variables.
When user exits from the editor, the modified crontab will be installed automatically. Each user can have their own crontab, and though these are files in /var, they are not intended to be edited directly. If the –u option is given than the crontab gives the name of the user whose crontab is to be tweaked. If it is given without this then it will display the crontab of the user who is executing the command.
How environment variable is set so that the file permission can be automatically set to the newly created files?
umask command is used to set file permission on newly created files automatically.
Syntax
umask [-p] [-S] [mode]
It is represented in octal numbers. We can simply use this command without arguments to see the current file permissions. To change the permissions, mode is given in the arguments. The default umask used for normal user is 0002. The default umask for the root user is 0022. For calculating the original values, the values shown by the umask must be subtracted by the default values. It is mainly used for masking of the file and directory permission. The /etc/profile script is where the umask command is usually set for all users. The –S option can be used to see the current default permissions displayed in the alpha symbolic format.
For example, umask 022 ensures that new files will have at most 755 permissions (777 NAND 022).
The permissions can be calculated by taking the NAND of original value with the default values of files and directories.
How to find out which service is running or any service listening ?
1. /etc/init.d/vsftpd status
2. service vsftpd status
3. nmap localhost/IpAddressOftheRemoteServer port
Example:
nmap localhost 21
nmap 192.168.155.1 21
4. ps -ef | grep vsftpd
5. ps -ef | grep :21
6. netstat -tulpn | grep :21
7. whether the Vsftpd packages has been Installed or not
rpm -qa | grep vsftpd (on RPM Family like redhat,centos,fedora )
dpkg -l | grep vsftpd (on DEB Family like ubuntu,Debian )
Howto make a service run at particular RunLevel
chkconfig is the command, which makes a service run at particular runlevel
chkconfig --list
chkconfig --level 3 vsftpd on
The above command will make the vsftpd Daemon run at run level 3
How do you develop a distributed application
Multi-tiered development architecture is something on which a distributed application
development is based. with two tiers, a distributed application is synonymous with a client
server protocol. This is its simplest form. Here you use a set of rules that specify a behaviour
for tow processes which are collaborating. One of the features of a client/server relationship is
that, one process (the client) starts the interaction. Interaction is started one process (the client)
when it issues a request to the second process (the server). The server process is capable of awaiting
a request from the client and as soon as it receives the request its duty is to return a response (or a result)
or perform a service. The server also has the capability of handling requests from multiple clients. The server
is also responsible for coordinating and synchronizing responses.
Distributed custom applications development facilitates the distribution of functionalities among multiple
applications or within same computers or even within a network of computers.
Scheduler is also responsible for many activities
- Resource quota sets
- job scheduling
Running parallel jobs with SGE
A parallel job is where a single job is run on many nodes in an interconnected fashion, generally using MPI to
communicate in between individual processes. Parallel jobs generally are only for specially designed programs
which will only work on machines with cluster management software installed.
Gnu-Linux Flavours
Debian/Redhat/Fedora/Centos/Ubuntu
Why this Company
I was looking for a position in which my broad knowledge could be valued, along with my
speaking skills and my natural attitude in connecting with people. The evangelist role, therefore
, was a perfect fit. I wam willing to squeeze my last drop of energy to deliver you something
you've never seen before. Giving them an honest, straightforward, unexpected example of your good
side and your talents is what they expect from you.
Rule number two: stand out from the crowd. Be "unordinary". Show passion, and commitment.
My strongest, and purest reason was that i was looking for a workplace in which you have no
roofs; in which my skills and commitment could bring me to the top.
Words you may use...
Thank you so much for your time ! Highly appreciated !
I am kind of person, i can push my self... I have the energy and enthusiasm to drive
excellence. It's my wish to work for an engineering company
A company which always promotes the employee enthusiasm and energy levels to do great things...drive excellence.
Strong Traits: Dedication and Passion
The best you can do is "let your passion and enthusiasm show through "
Dream
If my life can be useful to solve small problems of mankind to larger community
Want to be a "Problem Solver"
If i narrate my life Experiences... I want people to derive the Inspirational Factor... To that extent i wish to grow myself and work hard... to inspire and motivate people for the betterment in the mankind and society
If my life brings a positive impact on somebodies life. I would be happy... looking forward to do great things, staying focused.
Looking forward to contribute more to the Open Source, it can be bring awareness to the new generations and juniors... The learning curve from the open source is absolutely Great. I recommend stepping engineers to look into more open-source/free-software. It's all yours'
words you may use !
absolutely
pleasure talking to you or pleasure meeting you.
can i say something...
positive answers... I bet you, i know howto find the answer... and i will find the answer...Is that fair enough.
My circumstances has changed ! (negotiation)
This is what i believe and i am going to die for it. Is that simple !
i am pretty determined
You said you are smart, yeah i like to think so.
Good to know info
talent you have naturally..
Skills only can be developed by hours hours hours of beating...
your talent is going to fail... If you are not skilled... dedicate yourself to be a better every single day !
Spiritual responsibility to make it better... Every contact you come together !
If you are not making someone's else life better... Then you are wasting your time...
He who say's he can't... and he who say's he can... usually both right !
Idea of hope... taking control of the situation...
thank you so much...enjoy your day !
Q - Describe data structure for Shuffle operation in a music player
A - There are 2 operations that the expected data structure should facilitate:
1) Randomly select an not-played song.
2) Determine if a song was played or not.
I think we might to make 2 separated list, one contains the songs that are already played and the other contains the songs that are not played yet. Then using the random generator to pick one song from the unplayed list and move it to the played list once it is played.
Q - I was asked about projects that I worked on and my roles within them.
Take time and elaborate on each project... the problem statements... the key role played.
Q - Weakness --- Present in a positive manner
Q - Multiprogramming and Multiprocessing
Several processes (programs) are in memory concurrently and in state of execution. Several processors are used on a single computer system to increase the processing power of the machine
Q - What are the different synchronization mechanisms?
There are many ways in which processes and threads are synchronize among themselves. Synchronization is basically controlling access to something that is shared or available across two or more processes
Mutex, Semaphores, Monitors, Condition Variables, Critical Regions, Read/Write Locks
Q - Logical and Physical Address
Physical addresses are actual addresses used to fetch and store data in main memory while the process is in execution
Logical addresses are those generated by user programs. Logical addresses are converted to physical address by the loader during process loading into physical memory
Q - Page fault occur
A page fault occurs when an access to a page takes place that has not yet been brought into main memory.
Q - Dirty bit
Dirty bit is a bit stored in the page table, which if set, indicates that the page has been modified
Q - Thrashing
Thrashing in a virtual memory is a high page fault situation. where the system spends most of the time in swapping pages than execution processes.
Q - Thread
A thread is an independent flow of control within a process, composed of a context ( which includes a register set and a program counter) and a sequence of instructions to execute
Q - Difference between thread and processes
Threads share the address space of the process that created it; processes have their own address space
Threads have direct access to the data segment of its process; processes have their own copy of the data segment of the parent process
Threads can directly communicate with other threads of its process; processes must use inter-process communicate mechanisms(pipes, sockets)
Q - Abstraction and Encapsulation
Abstraction principle, only the essential behavior of an object, which distinguishes it from all other objects, is exposed.
Encapsulation is also known as Information Hiding
Q - Inheritance
The mechanism of deriving a new class from existing class is called inheritance. The existing class is know as base class, super class, parent class. The new class is know as sub class, derived class or child class
Q - Polymorshism
The ability of an object to
- invoke its function based on the function's signature. This concept is known as Overloading
- invoke its function based on its class type. This concept is known as Overriding
Q - Byte code
Each java program is converted into one or more class files. The content of the class file is a set of instructions called Byte code to be executed by java virtual machine(JVM). JVM is an interpreter by byte code.
Q - Different between an applet and an application
Applets are useful for creating dynamic and interactive web applications. An applet runs under the control of a browser, whereas an application runs as a stand-alone application on the desktop
The order of declaring should be package, import statements and then class definition
Q - Access modifiers for a class, method and variable
Public, Protected and Default private
Q - what are JAR, WAR and EAR files:
JAR : it is a java Archive file used to package classes, property files etc as a single file. To create a jar file use the jar command
e.g. jar -cvf jarfilename.jar *.class
WAR: It is a web archive file used to package a web application i.e. classes, JSP's ,property files etc as a single file
EAR: It is an enterprise archive file. This format is used to package EJB, JSP, Servlets, Property files etc. This is used to package an entire enterprise application. It can consist of multiple WAR files.
Q - Garbage collector
when an object is no longer required (When its reference count is 0), its memory needs to be cleaned up and freed. This is what the garbage collector does. Garbage collector is a thread running as part of the JVM process.
Q - Difference between yielding and sleeping in threads
When a thread invokes its yield() method, it returns to the ready state. When a thread invokes its sleep() method, it returns to the waiting state
Q - Synchronized methods and synchronized statements
synchronized methods are methods that are used to control access to an object
A synchronized statement can only be executed after a thread has acquired the lock for the object or class referenced in the synchronized statement.
Q Difference between ArrayList and Vector
Arraylist: methods are not synchronized, therefore, they are not thread safe. Hence more efficient i.e faster
Vector: methods are synchronized, Any method that touches the vector's contents is thread safe
Q - Hashtable and Hashmaps
hashtable: Methods are synchronized. any method that touches the Hashtable's contents is thread safe. doesn't permit null key or null value
HashMap: methods are not synchronized, therefore, they are not thread safe. Hence it is more efficient i.e faster permits null key and null value
Q - Object Serialization:
Serialization refers to the process of writing the contents of an object to a file and re-creating the object from the file at a future date
Q - HTTP called a stateless protocol:
HTTP is called as a stateless protocol since every request is independent of the previous request. The server doesn't keep track of whether the same user is making repeated requests
Q - Primary key
Primary key is used to uniquely identify a row of data in a table. This can be a single column of a table or a combination or more than one column, in which case it is known as "Composite key"
Q - Foreign key
A key column in a table that identifies records in a different table is called a foreign key
Q - OSI reference model
Application layer - telnet, http,ftp, snmp, smtp
Presentation layer - Jpeg, mpeg
Session layer - NFS, RPC, SQL
Transport layer - connection oriented TCp, connectionless UDP
Network layer - IP
Data link layer - Logica link control (Ethernet, token ring) medium Access Control (MAC)
Example: Wi-Fi, ethernet, 802.11, ATM
Physical layer - This layer is to send and receive bits to and from the physical carrier (CAt 5 /CAt 6 n/w cable)
Q - Throughput
throughput is the amount of work that a computer can do in a given time period
Q - Spanning tree protocol
Spanning tree protocol is a data-link management protocol that provides path redundancy while preventing undesirable loops in the network. For an ehternet network to function properly, only one active path can exist between two stations.
Q IP Series ipv private addresses
Class A - 10.0.0.0 - 10.255.255.255
Class B - 172.16.0.0 - 172.31.255.255
Class C - 192.168.0.0 - 192.168.255.255
Q - ARP Address resolution protocol
ARP maps an iP address to its corresponding physical network address. It is a low-level protocol . ARP is most commonly seen on ethernet networks.
When an IP packet arrives at a router, the router needs to map the destination IP address to the appropriate MAC address so that it can be delivered over ethernet. Some IP-to-MAC address mappings are maintained in an ARP cache, but if the given IP address doesn't appear there , the router will send an ARP request that is broadcast on the local network. The host with the given IP address sends an ARP reply.
Q - RARP (Reverse Address Resolution protocol )
The reverse of ARP, it is mechanism to map MAC address to IP address. It is used to find out their IP addresses from a BOOTP server. It is used mainly by disk-less workstations upon boot-up to find out their IP addresses from a Bootp/dhcp server
Q - Data structures
a constant-time method is "order 1": O(1)
a liner-time method is "order N": 0(N)
a quadratic-time method is "order N squared": O(N)
Q - priority Queues
A priority Queue is essentially a list of items in which each item has a priority associated with it. In general, different items may have different priorities and we speak of one item having a higher priority then another.
Q - Circular singly linked list
A circular linked list is a normal singly linked list, whose last node points back again to its header node. The advantage of such linked list is that it can be traversed completely from any known pointer in it
Q - Binary search tree
A binary search tree is a binary tree with the following properties
- The data stored at each node has a distinguished key which is unique in the tree and belongs to a total order
- the key of any node is greater than all keys occurring in its left sub-tree and less than all keys occuring in its right sub-tree
Q - AVL Trees operations
AVL trees are height-balanced binary search trees, in which every node has the property that its height of the left and right sub-trees differ in height by at most. The advantage of AVL trees over normal BSTs are, AVL trees store the nodes with minimum number of NULL pointers, thus saving memory space.
Q - Binary Search algorithm
The basic idea of binary search is to compare the value of the element at the center of the sorted array bounded by lower & upper limits with that of the key elements based on which the array to be searched keeps shrinking in its size by half. O(log N)
Q - How to figure out a virtual machine IP traffic is breaking sometime in a datacenter
The Pros and Cons of Virtual Machines in the Datacenter
Think implementing virtual machine technology in your datacenter Features and Benefits
- isolation: One of the key reasons to employ virtualization is to isolate applications from each other
- standardization: Another key benefits virtual machines provide is standardization. The hardware that is presented
to the guest operating system is uniform for the most part, usually with the CPU being the only component that is
"pass-through" in the sense that the guest sees what is on the host.
- Consolidation: Virtual machines also increase utilization and promote consolidation
- Ease of Testing: Virtual machines let you test scenarios easily
- Mobility: Virtual machines are easy to move between physical machines
Drawbacks and Challenges
- Concentration Risk: One challenge i have already discussed is the increased reliance on fewer physical machines: the
"putting all your eggs in a few baskets" effect, which i call concentration risk
- Network complexity
- We have to find out on which datacenter it belongs to , then which hypervisor
- Check for the load on the hypervisor
- Check for the virtio drivers on the hypervisor, which definitely will impact the performance of the Guest machines
- Check of the physical nic of the hypervisor.
- Check for the daemons which are occupied on the network which may not giving n/w for other Guest machines to free flow the traffic
-check for the health of the hypervisor
Q - If a client report the website is coming up slow
On the Client Side
- Check with other browser etc
On the Server Side
- Which webserver are responsible for the web page to load
- check for the cluster webserver all are up and running fine
- check of the network services which are running and occupied the network traffic
Q - How does the compute node communicate with the management node
When any compute nodes comes up first time, the compute node has to be registered with the management
node first time (mac address will be stored on the management server). If the same management server recycles the management server check the MAC addesses with the stored mac addresses. If it is already there it won't register, all the services from the management network will talk to the hypervisor
Q - Difference between PXE and GPXE
Preboot Execution Environment
The PXE protocol is approximately a combination of DHCP and TFTP, DHCP is used to locate the appropriate boot server or servers, with TFTP used to download the initial bootstrap program and additional files
PXE is proprietary software typically included in most network cards sold today !
gPXE - GPL PXE
Etherboot/gPXE is very similar to PXE, except it is an open source project, therefore the software is free
It can be used to enable computers without built-in PXE support to boot from the network, or to extend an existing PXE implementation with support for additional protocols.
While traditional PXE clients use TFTP to transfer data, gPXE adds the ability to retrieve data through other protocols like HTTP, iSCSI and ATA over ethernet (AoE), and can work with Wi-Fi rather than requiring a wired connection