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

某公司电话面试

时间:2018-06-23 20:46:12      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:三方   数据   存储   dstat   大循环   产生   红黑树   top   等于   

电话面试太匆忙,惨不忍睹。。。。
 
1. 如何查看某个进程中的线程数
   ps -T -p <pid>
   top -H -p <pid>
 
2. 如何查看单个进程I/O信息
    vmstat 只能看磁盘
    iotop 进程I/O 
    pidstat /iotop  查看单个进程
 
 
3. 如何查看某个进程实时I/O网络信息
    iftop/nethogs 网络流量
    iperf 网络测试工具
    第三方库
 
 
4. 内存池/线程池/链接池 的实现
http://www.cnblogs.com/bangerlee/archive/2011/08/31/2161421.html
 
5. skip list
 
 
6. map 和 hash_map 区别
    构造函数。hash_map需要hash函数,等于函数;map只需要比较函数(小于函数).
    存储结构。hash_map采用hash表存储,map一般采用红黑树(RB Tree)实现。因此其memory数据结构是不一样的。
 
    https://blog.csdn.net/vking_wang/article/details/14166593
 
7. 内存溢出不借助工具
    重点排查以下几点:
  1.检查对数据库查询中,是否有一次获得全部数据的查询。
      一般来说,如果一次取十万条记录到内存,就可能引起内存溢出。
      这个问题比较隐蔽,在上线前,数据库中数据较少,不容易出问题,上线后,
      数据库中数据多了,一次查询就有可能引起内存溢出。因此对于数据库查询尽量采用分页的方式查询。
  2.检查代码中是否有死循环或递归调用。 
  3.检查是否有大循环重复产生新对象实体。 
  4.检查对数据库查询中,是否有一次获得全部数据的查询。
      一般来说,如果一次取十万条记录到内存,就可能引起内存溢出。
      这个问题比较隐蔽,在上线前,数据库中   数据较少,不容易出问题,上线后,数据库中数据多了,
      一次查询就有可能引起内存溢出。因此对于数据库查询尽量采用分页的方式查询。 
  5.检查List、MAP等集合对象是否有使用完后,未清除的问题。
    List、MAP等集合对象会始终存有对对象的引用,使得这些对象不能被GC回收。
 
  第四步,使用内存查看工具动态查看内存使用情况
 
8. 摔杯子问题
 

某公司电话面试

标签:三方   数据   存储   dstat   大循环   产生   红黑树   top   等于   

原文地址:https://www.cnblogs.com/bzadhere/p/9218401.html

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