码迷,mamicode.com
首页 > 其他好文 > 详细

百纳信息(海豚浏览器)面经

时间:2014-09-27 19:46:30      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   http   color   io   os   使用   数据   

  公司位置在光谷大道金融港,是武汉少有的移动互联网公司。公司人不多,毕竟是创业型公司。整个办公区有一层楼,只林星摆着几张圆桌和沙发,空旷得很。给人的感觉是简单,干净。

  一面的问题记录如下:

  1.写个memmove。

  答:memmove与memcpy的区别是,memmove要考虑dest和src的内存有交集的情况。如果有交集的话,应该从尾到头倒过来赋值。具体的代码我就不贴了,网上有很多。

  2.select函数是怎么一回事?用过epoll函数没?

  答:互联网公司基本上都会问到这两个函数吧。这个是多路复用IO,详细的大家可以上网查一查。

  3.同步IO和异步IO的区别?

  答:区别在于,同步IO中,数据从内核复制到用户进程的过程中,用户进程阻塞,而异步IO中,是不阻塞的。同步IO包括了阻塞IO,非阻塞IO,信号驱动IO,多路IO复用。

  4.Linux的常用命令,怎么看系统负载,怎么看内存使用情况?

  答:负载和内存都可以用top命令查询,常用的还有df,umask,netstat,chmod,kill等等,建议想从事后台服务器开发方向的同志们,一定要习惯在Linux命令行环境下写代码,调代码。我推荐装个虚拟机,使用ubuntu操作系统,在windows中使用SecureCRT去远程连接虚拟机的Linux操作系统,这很方便。

  5.g++的常用参数?怎么编译静态库,怎么编译动态库?

  答:这个大家可以去网上查一查,肯定比我答的详细。这里还要说一句,在Linux环境下,是没有像vs2010那样的IDE的。编译使用g++,编译大工程使用Makefile,调试使用GDB这三个是一定要掌握的。

  一面完了以后,等了一下,直接二面。二面应该是技术总监级别的人物,挺年轻的,但是比较有气场,估计跟vc打交道练出来了。

  先谈了一下除了C++,还关心什么技术?这里在考察知识面了。我的知识面不算宽,只简单谈了谈正在学python,hadoop。后面面试官给我出了道题:每个IP地址都有对应的地区,例如1.1.1.1~2.2.2.2位于美国,3.3.3.3~5.5.5.5位于中国,这些对应关系数据已经有了,设计数据结构将这些对应关系存起来,然后实现函数,参数是一个IP,返回它对应的地区。

  这一题可以用字典树来解决。将IP的四个十进制数取出来,首先判断第一位落在哪个节点,然后根据第二位在该节点的子树中寻找...直到找到叶子节点,返回叶子节点中的location熟悉。节点我是这么设计的。由于子树是有序的,因此可以用二分法查询子树。

bubuko.com,布布扣

struct Node
{
    Node *sz[256];
    int beg;
    int end;
    int pos;
    string location;
};

百纳信息(海豚浏览器)面经

标签:des   style   blog   http   color   io   os   使用   数据   

原文地址:http://www.cnblogs.com/johnsblog/p/3996991.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!