zoukankan      html  css  js  c++  java
  • 2011年一次面试的实际记录

    问题1.看你做过voip相关,你主要是做哪一部分
    答:主要是做当中的计费部分,当时的整个系统使用的是gnugk做网守,最早都是计入到文本或者本地的mysql。
    然后我发现gnugk里面有radius计费协议的整个栈,就把栈独立出来做了rts计费软件,用的oracle数据库,
    再后来做了一个jsp的web管理系统,用来将详细数据展示给用户看。


    问题2.你们的voip系统用的是什么协议,有没有做协议栈相关的改动。
    答:用的h323协议,没有深入到协议栈里开发,仅仅是改动了gnugk中和计费相关的部分适应中国国情。
    【实际上为了防止网通电信封杀小的voip运营商,改动了协议栈中的tcp/ip数据,令全部tcp/ip数据包都对密钥做了异或,
    在client对收到的包先再做一次异或,之后才处理】


    问题3.看你做过手机销售的站点,你在这个站点负责什么。
    答:负责整个站点的设计与开发,当时选用的是ecshop做基础。


    问题4.ecshop有很多暴露的漏洞,当时你们有没有做什么处理。
    答:没有。
    【其实有次整个站点的数据被人入侵删除,当时幸好写了每日备份脚本,否则非常慘】


    问题5.看你当前工作的公司,cdn系统服务端用的LAMP,client用的是perl。client为何没有使用php。perl相对php有什么优势。
    答:这个问题倒没有思考过,perl相对php的优势就是灵活机动,正则强大。php的优势就是老牌劲旅,库多參考多。
    至于当时client为何用的是perl,推測是由于当时团队熟悉perl的比較多造成。
     
    问题6.你对php内核有何了解
    答:没有特意去了解,仅仅知道垃圾回收是依照资源计数器来管理。


    问题7.你对linux内核有何了解
    答:没有特意去了解内核,仅仅是对网络相关的了解较多。比如设置/etc/resolv.conf,route add -net加入路由,查找丢包,网络故障等。


    问题8,你对epoll通讯机制有何了解。
    答:比如老的apache不支持epool模式,则整个机器仅仅支持1024路通讯连接。新的不知道支持不支持。
    lighttpd 支持epool模式,假设把ulimit放开到40960,则lighttpd能够支持40960路通讯连接。


    问题9:这是表现,你对详细原理有何了解。
    答:不使用epool模式好比管理员带着你一户一户的找人,epoll模式好比管理员手中有寻址单。这样大大提高效率。


    问题10:这依旧是个例如,不是实质。
    答:再往下没有深入。
    【后来又看了看,实质应该是pool是select池,epool是增强的pool池,会依据事件异步唤醒池中须要处理事务的select线程。不知道理解的对不正确】


    问题11.你对sql注入有何了解
    答:仅仅在内部用的系统做过简单的sql注入防范,比如php中用ereg_replace去替换掉各种keyword,如select delete,和撇号等。替换为空。


    问题12.这种方法非常土,假设同意用户输入delete,select等关键词呢
    答:能够检查前后有无空格,然后检查下有会from关键词。厄,这样好像比較复杂。
    【实际上,应该用addslashes等去检查替换输入词,避免产生各种注入 】


    问题13.你跨域脚本攻击有何了解
    答:假设我在某论坛布置了一个脚本引用,这时假设用户訪问这个论坛,而且脚本被载入。
    我自己的站点就能够通过脚本的http链接信息,获得用户的cookie,有了cookie,我就能够伪装成用户了。


    问题14.cookie在http信息的什么地方
    答:http头里,头里有此字段。


    问题15,假设给你2个文本,不使用diff,你怎样可以找出2个文本不同之处。
    答:把第一个文本加载hash,每行的hash{$line}=0,对第二个文本做循环,假设行的hash存在则hash{$line}=1,假设不存在
    则输出数据状态=2,全部数据被划分成0,1,2 三态。


    问题16,除了这种方法你还能想出什么办法。
    答:笨办法非常easy想,对第一个做循环,对第二个做grep,只是这样效率低会不好。


    问题17,假设两个文件一个非常大一个非常小,你选择哪个加载hash
    答:假设内存不崩溃的话,我选择大的加载,然后小的查找会非常快完毕。
    假设小的加载hash,再循环大的,时间会花非常久。
    除非内存不够用,否则我倾向把大的加载hash。


    面试结论:你了解的东西比較多,但都不是特别深入。
  • 相关阅读:
    (转载)学校搭建使用nginx同时编译rtmp-module进行直播的技术文档
    Python3 字典无has_key()方法,调用报AttributeError: 'dict' object has no attribute 'has_key'错误
    用CSS样式画横线和竖线的方法
    wireshark 包分析命令
    设置windows密码只存在NTLM-Hash下
    修改默认3389远程连接-注册表
    ipc$爆破密码
    windows server 2008/2012 无法安装AD域解决方法记录
    Android UiAutomator 自动化测试一些代码实例---新手3
    linux 添加防火墙开放端口
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/4340450.html
Copyright © 2011-2022 走看看