zoukankan      html  css  js  c++  java
  • 百纳信息(海豚浏览器)面经

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

      一面的问题记录如下:

      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熟悉。节点我是这么设计的。由于子树是有序的,因此可以用二分法查询子树。

    struct Node
    {
        Node *sz[256];
        int beg;
        int end;
        int pos;
        string location;
    };
  • 相关阅读:
    【数论】【快速幂】【扩展欧几里得】【BSGS算法】bzoj2242 [SDOI2011]计算器
    【数论】【ex-BSGS】poj3243 Clever Y
    【数论】【扩展欧几里得】hdu3579 Hello Kiki
    【CCpp程序设计2017】推箱子游戏
    【Miller-Rabin算法】
    【数论】nefu119 组合素数
    【数论】nefu118 n!后面有多少个0
    【树形dp】vijos P1180 选课
    【树形dp】Codeforces Round #405 (rated, Div. 1, based on VK Cup 2017 Round 1) B. Bear and Tree Jumps
    【树形dp】VK Cup 2012 Round 1 D. Distance in Tree
  • 原文地址:https://www.cnblogs.com/johnsblog/p/3996991.html
Copyright © 2011-2022 走看看