job interview recent

2017-12-30  本文已影响125人  萧然AND沐橦

mobike

  1. 一个5层的二叉树最多有多少节点?
  2. 时针转一圈,分针和时针会重合几次?
  3. 盒子里有3种不同颜色的球,每次拿出一个后放回再拿,三次拿到的球都不同的概率?
  4. 一个服务一天有300w的访问量,有80%集中在全天的20%时间,假设单台机器的QPS是50,为了服务稳定运行,需要几台机器?
  5. 8 8 24 120 ___
  6. 50的阶乘末尾有多少0?
  7. 在一颗二叉查找树中,找到与数字m最相近的值。
     
  8. 有两个整型数组,每一个元素分别是一个数字的每一个数位,例如
    [1,2,3,4,5,6],即表示数字123456,完成函数sub,功能为两数相减。
    int[] sub(int[] src , int[] dst) ;
    (java题目,用C/C++做时需要数组长度,可以假设长度)
     
  9. 警察叔叔有一个待查寻身份证号码集合m,现有n个嫌疑人,需要从在待查寻身份证号集合中查看是否有这n个嫌疑人,来确定罪犯。m和n都是亿级别的。如何查询,并给出时间复杂度和空间复杂度。
     
  10. 设计一个支持全球的短连接服务... 记不太清了,没接触过这类问题。
     
  11. 详细说一说你的简历上的项目一,架构和功能。
    ... 时间长忘记其它问题了没记录下来。

sogou

(以下为不定项选择)

  1. 哪些函数是多线程不安全的?1. inet_ntoa 2.rand 3. strtok 4. localtime
  2. 已知一颗二叉树前序遍历后序遍历分别是cedba,dabec,那么中序遍历结果是怎样。
  3. 下面函数的时间复杂度和优化后的时间复杂度是:
int sum (int x ) {
    int sum = 0;
    for ( int i = 1 ; i < n ; i*=2 ) {
        for ( int j = i/2 ; j < i ; j ++ ) {
            sum += j;
        }
    }
}
  1. HTTP协议,请求信息分为请求行、请求头、消息体三部分,描述错误的是:
    1)请求的GET参数放在请求头
    2)POST参数存放在消息体
    3)COOKIE信息存放在请求头
    4)消息体、请求头长度分别通过请求头的Content-length 和 Header-length 指定。

  2. 哪些方案是通过降低处理延时来提高系统吞吐的:
    1)采用多级流水
    2)串行改并行
    3)增加处理线程数
    4)利用cache缓存热门数据

  3. 这段程序输出怎样:1. 1234567 2. 12345678 3. 段错误 4. 无法确定

char dest[8] ;
char *src = "1234567890";
strncpy(dest , src , sizeof(dest)) ;
printf("%s\n",dest) ;
  1. 对于线程安全(thread-safe)和可重入(reentrant)描述正确的是:
    1)可重入函数一定是线程安全的函数
    2)线程安全函数一定是可重入的
    3)如果一个函数中用到了全局变量、静态变量那么它不是线程安全的,也不是可重入的
    4)在访问全局或静态变量时使用互斥锁或者信号量等方式加锁,则可以使它变成线程安全的,同时也是可重入的。

  2. linux平台关于c++程序链接的说法正确的是:
    1)一个静态库中不能包含两个同名全局函数的定义
    2)一个动态库中不能包含两个同名全局函数的定义
    3)如果两个静态库都包含一个同名全局函数,它们不能同时被链接
    4)如果两个动态库都包含一个同名全局函数,它们不能同时被链接

  3. 在一个有序的整数数组中,有些元素重复出现。写一个查找函数,找出指定元素第一次出现的位置,如果不存在,返回-1.
     

10.编写程序实现一个数字矩阵的环形打印。
数字矩阵:

1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
  1. 详细说一下你的两个项目。
  2. 用过哪些shell命令,说说grep、sed、awk。
  3. cookie是什么?能干什么用?获取一个消息是PUSH还是主动PULL?
  4. 项目里面定时是怎么实现的?怎么简单实现管理多个定时?高效的怎么实现?
  5. 可重入是什么意思?什么是静态库,动态库、区别?
  6. 怎么理解栈帧的?core文件里面是什么?如何调试段错误等错误?
  7. TCP三次握手、四次挥手,TIMEWAIT是哪端出现的,MSL是什么?为什么TIMEWAIT会持续2MSL?
  8. 怎么判断一个服务是否在线?已建立的链接突然一端崩溃,正常一端再写会发生什么?该怎么处理?
  9. 什么是阻塞/非阻塞,同步/异步。
  10. 用过的IPC有哪些。
  11. select和epoll的作用,区别有什么?
  12. 在一组数中找到前k小的数。如果是找第k小呢?
  13. 面向对象的特点都有哪些?多态的好处?
    回忆的内容大概是这么多... ...

mi

  1. STL具体实现熟悉么?写一个Queue/Stack。
  2. 找前k小的数。使用大顶堆时候,假如内存中只能放下k/4个元素,如何处理?
  3. TCP四次挥手。CLOSE_WAIT大量存在时候原因有可能是什么?
  4. select和epoll的区别?
  5. 物品有价值,有重量,放一个有容量上限的背包里,怎么放价值最高?(背包问题。。。动归)
  6. 设计一个支持50w并发量的服务端,该如何设计。
  7. 写程序实现打印一个集合的所有子集。
  8. 写程序判断链表是否有环,找出入口。
  9. 写程序,字符串匹配,判断待匹配字符串的子串在目标字符串中出现的次数。
  10. 详细说一下第一个项目(分布式cache),你做了哪些事情。
  11. 假设上线一个抽奖服务,用户2kw,每个用户记录的信息约256字节峰值qps在80w/s左右,怎么部署服务。(其实是考需要哪种(cache)服务模型(容量淘汰/过期淘汰等),是否需要持久化,峰值时需要部署多少组服务等问题)
  12. 详细说一下skiplist是什么,怎么查找的,特点。
  13. accept发生在三次握手什么时候,并发和并行的区别。
  14. MTU是什么?MTU大小由什么决定?
  15. 如何衡量一台机器的性能?
  16. 有100G的整形数字,在其中查找是否存在某个整形数,如何做。
  17. 多线程服务,线程数应该设置多少个。
  18. 一个多线程服务,每一次请求需要消耗CPU 1ms,I/O 5ms ,请问这个服务应该设置的线程数是多少个。
  19. top中的load指标是什么意思?
    大概是这么多... ...

mobike最早,记不怎么清楚了。按照时间顺序写的。供各位路过的朋友参考,一年工作经验的社招笔试面试题,应该说和校招时候的难度差不很大吧。

上一篇 下一篇

猜你喜欢

热点阅读