日期:2014-05-16  浏览次数:20781 次

我出的linux开发工程师的面试题
我们组要招一个Linux研发工程师,要我去做技术面试, 准备了一小时,列出了下面这些问题,大家觉得如何? 招的人税前年薪12W以上。题会不会基础了一点?

Network Theory
1. What is OSI 7 layer network model? How do you think about it?
2. When your computer send out a package, how this package been sent to destination in internet?
3. Many years ago, many people think IP address will be run out of soon, but now we continue use IPV4, what is the technology been selected to resolve this problem.
4. What is IGMP?

OS Theory
1. What’s process and what’s thread? compare it.
2. What’s the memory protected-mode and real-address mode? Why all PC OS use protected-mode, but many real-time OS use real-address mode?
3. Please describe OS how to schedule all task?
4. Please provide some IPC method that OS provide to application. Describe your philosophy to select a specific IPC.
5. What’s watch dog theory?
6. What is the COW technology in Linux?
Linux Base Programming
1. What’s a signal safe function? What’s a thread safe function? What’s the difference between signal safe function and thread safe function? Please provide some example? 
2. When I type a command on shell as below, please describe shell’s potential action. Please describe in C language.
# ls
# ls &
# ls | sort
3. What’s Zombie process, what’s orphan process? What’s daemon process?
4. You run a programming in terminal, when this terminal disconnected, does your programming will exit or not? Why? 
5. Please compare multi-process and multi-thread model, please describe your philosophy to select multi-process or multi-thread.
6. Please compare LinuxThread and NPTL.
7. What’s the unreliable signal in Linux? Why those signals are unreliable?

Linux Network Programming
1. Please describe select model.
2. Why a TCP socket should have a TIME_WAIT state, does this state can be eliminate when your program exit? How to change the TIME_WAIT state time?
3. What does it mean when you read out 0 byte from a TCP socket and a UDP socket?
4. How to implement Multicast programming?

Bash shell
1. How you configure you shell environment? What’s the difference between .bashrc .bash_profile bashrc?
2. What’s editor you use to write code? If vim many question
3. Are you familiar with regular expression? [A-Z]+[0-9]*
4. Are you familiar with sed? sed –n ‘/west/{s/^America/China/g; p;}’ test.txt
5. What does it mean in shell? !!, !route, !?add?

Develop tool
1. Are you familiar with cross compile?
2. Are you familiar with gcc? –c –g –O –o
3. Are you familiar with gdb? When your program corrupt, how to track the bug?
4. How to read out your exec program’s machine type? X86, ARM, MIPS
5. What’s tool you selected to check your program’s errors.



------解决方案--------------------
的确是基础了点
------解决方案--------------------
mark
------解决方案--------------------
mark
------解决方案--------------------
题目不少呀,题挺基础,自己大概看了看,自测了一下,很多概念也了解,但又挺模糊,真要能答全也不容易,也可能是自己基础没打好,呵呵。
------解决方案--------------------
很久没上CSDN了,一直加班,好久没上来学习了,自己落后了许多。
------解决方案--------------------
貌似确实基础了一点
------解决方案--------------------
怎么全是问答题,english 我喜欢
------解决方案--------------------
楼主的开发组貌似是腾讯的?powful
------解决方案--------------------
基础才是王道
------解决方案--------------------