2006年5月17日华3com面试

17日上午快11点的时候通知面试,面试时间是下午1点40,地点新活314。

我们一行3人于下午1点半到的新活,等到2点的时候,我被叫进去面试了。面试采取的是1对1的模式,面试官还是比较nice的,我也不紧张,整个面试过程的氛围相当轻松 。先是面试官根据我的简历及其感兴趣的东西向我提了一些问题;当他问完后,我主动问了一下华3com的情况,包括开发平台及语言等等;最后在我离开之前我询问了考官对我的意见和建议,他认为我的面试表现还可以,技能掌握情况还不错,以后还需要在某个方面往深里学。

下面把面试涉及的问题罗列如下:

  1. 我的基本情况。
  2. 比较详细地叙述了一下垃圾邮件项目中我所做的工作的情况。
  3. 简要讲述了网络管理课程的教学内容,说明了SNMP的3个版本的不同之处
  4. SNMP协议位于哪个层?(应用层)
  5. 用户态如何切换到内核态?在哪些情况下切换?(中断、异常及系统调用,也见附言A)
  6. 系统调用的过程。
  7. C语言:临时变量存放在哪里?(栈)静态局部变量存在哪里?(全局数据区)
  8. 内核栈在什么情况下会溢出?(8k,1k的进程描述符)溢出后会出现什么情况? (内核崩溃)
  9. 从用户态切换到内核态,栈又是如何切换的?
  10. 中断中关于bf如何调用的问题。
  11. 函数参数的传递有哪几种形式?(寄存器传递,如系统调用;堆栈传递,如一般函数调用)

总结:

  1. 面前须做有针对性的准备,对自己的简历要滚瓜烂熟。
  2. 面试时要沉着冷静,思维要灵活。
  3. 注意交际礼仪问题。

附A:

1. 一般情况下,进程在用户态运行,自然使用用户栈。
2. 当使用了中断指令(int指令)或者有硬件中断或cpu异常发生或系统调用,则立刻从用户栈切换到内核栈(内核栈的信息从tss中读取),并在内核栈中保存eip,cs,eflags,esp,ss(这些寄存器都是发生中断或异常时用户态的信息,这里不讨论在内核态发生中断或异常的情况),这样系统就从用户栈切换到了内核栈
3. 当使用iret指令返回(到用户态)时,该指令从内核栈中读取ss,esp,eflags,cs,eip,将他们归位,这样,就又切换到了用户栈(因为保存的ss,esp都是用户栈的信息)

总结:
1. 在用户态时一定要使用用户栈,另外,在信号处理的时候,在内核态时也要操作用户栈
2. 在内核态(0特权级)时使用内核栈
3. 发生任务切换时,肯定在内核态,所以那时使用内核栈

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值