zoukankan      html  css  js  c++  java
  • 面试问题找工作的历程

         近期找工作的过程中,因为自己比较喜欢C/C++,对多线程以及网络方面比较熟悉,

         所以下面的这些问题是这段时间在面试过程中被问到了,现在对这些问题进行了汇总!!

         面试过程真的是一个非常好的学习过程,下面那些问题自己现在基本可以解决,

         我的答案或者观点就不给出了,看到这篇文章的同学可以根据自己的情况,测试一下自己....哈哈...

         也可以当成一次学习的过程,网上搜索出来的结果可能会更详细。。。动手吧。。。

        

    一、网络(主要是TCP/UDP)

    (1)、TCP的三次握手连接:两端主机状态(SYN_SEND,SYN_RECV,ESTABLISH),数据包类型(SYN,ACK),整体过程

    (2)、TCP的四次挥手:主机状态(FIN_WAIT_1,FIN_WAIT_1,TIME_WAIT,CLOSE_WAIT,LAST_ACK,CLOSED),数据包类型(FIN,ACK),

    问题1:TIME_WAIT状态有什么用?时间有多长?

    问题2:四次挥手中,服务端接收到FIN包后,回应ACK包后,还能否继续发送数据?为什么服务端把ACK包和FIN包分开发送?

    问题3:TCP协议的REST包有什么用?

    问题4:TCP协议里的PSH包和URG包的区别?

    问题5:TCP包中紧急指针有什么用?那部分为紧急数据?

    问题6:TCP的可靠传输机制有哪些?

    问题7:TCP和UDP以及IP三者的区别?

    问题8:TCP包和UDP包的长度?

    问题9:TCP传输的效率和UDP传输的效率的讨论。。

    问题10:ping命令使用的是什么协议?实现的原理?

    问题11:输入一个链接到游览器显示页面的整个过程?尽量详细说出来

    问题12:如果打开一个链接打不开,如果去查找原因?

    问题13:ARP获取物理地址(MAC地址)的过程?

    问题14:DDoS攻击的原理?有哪些方式(an:如SYN洪)?如果防止这种攻击?

    推荐博文:

    http://kb.cnblogs.com/page/144577/

    http://blog.csdn.net/dog250/article/details/6612496

    http://blog.csdn.net/dog250/article/details/6896949

    二、多进程多线程

    问题1:多进程和多线程的联系和区别?

    问题2:多线程的同步和互斥机制?(注:有些机制只能用于互斥)

    问题3:临界区和互斥量的区别? (注:一个不是内核对象,一个是内核对象)

    问题4:多进程的通信机制?

    问题5:死锁的原因和条件? (注:三个原因和四个必要条件)

    问题6:fork()函数的应用? (注:2013腾讯软件开发笔试题)
    for(i = 0; i < 2;i++)
    {
        fork();
        printf("-"); //输出多少个‘-’号? 若改为printf("-\n");那么结果又有多少个?
    }

    问题7:进程地址空间结构? (注:用户地址空间:低到高:代码区、data区,bss区,堆区、....(映射区)、栈区)

    问题8:使用内存共享机制时,内存映射到进程地址空间的什么位置?

     推荐博文:

    http://www.ibm.com/developerworks/cn/linux/l-ipc/part1/index.html

    http://www.cnblogs.com/bizhu/archive/2012/10/09/2717293.html

    三、C/C++方面的问题

    问题1:多态实现机制?虚表的原理?

    问题2:虚继承时,对象的内存空间结构以及虚表结构? (注:深度探究C++对象模型那本书有详细介绍)

    问题3:智能指针实现原理? (注:auto_ptr,shared_ptr,weaked_ptr...)

    问题4:new和delete、malloc和free的问题?

    问题5:const、#define以及inline的区别

    问题6:vector内部的内存维护原理?有什么缺点? (注:迭代器失效)

    问题7:vector释放内存方式?写出代码 (注:一种是强制调用其析构函数)

    问题8:内存对齐问题? (注:可以使用#pragma pack()处理)

    问题9:类对象结构问题?static变量放在内存的哪个区?static函数呢?类对象大小的计算?

    问题10:继承过程中,派生类对象结构的变换?虚表的变换

    问题11:覆盖和重载的区别?

    问题12:MFC中为什么使用消息映射机制而不使用继承机制实现?

    问题13:消息队列和消息映射之间的联系和区别

     推荐博文:

    http://blog.csdn.net/jimmy54/article/details/5418766

    (内存池的介绍,相当详细):

    http://www.ibm.com/developerworks/cn/linux/l-cn-ppp/index6.html#ibm-pcon

    四、海量数据处理已经分布式方面问题(我只是了解的水平..哈哈..还在学习中...)

    问题1:海量数据处理的思想?

    问题2:海量数据处理一般会使用到的方式?

    问题3:了解哪里分布式系统? (注:我当时介绍了MapReduce,其实可以从GFS,BigTable以及MapReduce入手,以及三大技术的应用,Hadoop)

     推荐博文:

    http://blog.csdn.net/opennaive/article/details/7514146

    http://blog.csdn.net/opennaive/article/details/7483523

    http://blog.csdn.net/opennaive/article/details/7532589

    http://dongxicheng.org/category/mapreduce/

    http://www.cnblogs.com/lovexinsky/archive/2012/03/09/2387583.html

    下图是我参加校招过程的一些记录,我是在这样的一个过程中成长的....哈哈...带有一些吐槽哈...

    因为花一天重新修改了简历,360那里成为完美分割线。。。。不辜负我的心血...

    引用:“多点不会发财,少点不会饿死,关键是兴趣就是工作,工作就是兴趣,人生也就这样,做到自己的定位很重要。”

    发现这句话对于一个应届生相当重要!!很多同学现在只看重待遇怎么样!!然后就直接签了!!希望还在找工作中的

    同学好好体会一下我上面引用的那句话。

  • 相关阅读:
    判断一个值是不是数字
    webpack起的项目怎么用手机访问?
    vue 父子组件数据双向绑定
    js取整
    封装加减乘除函数 解决JS 浮点数计算 Bug
    javascript笔记 (持续更新)
    ajax请求的原生js实现
    程序员の健康和效率装备列表,普通人也能参考
    Java static,final 基本概念
    Download EditPlus Text Editor
  • 原文地址:https://www.cnblogs.com/bizhu/p/2734752.html
Copyright © 2011-2022 走看看