狸猫的面试
文章平均质量分 53
w狸猫
愉快的玩耍
展开
-
狸猫的面试——JVM综述
http://my.oschina.net/u/658658/blog/408021#OSC_h3_8 内容没法保存 只能记个网址了 (哭)转载 2016-04-28 22:20:46 · 567 阅读 · 0 评论 -
狸猫的面试——链表
1.找出链表的中间元素 解法:链表的特点是容易增删,难于随机访问。如果按照常规的想法:(1)遍历链表,获取长度 (2)从头走1/2步 。但是这种方式会需要O(1.5n)。可以采用如下方式:两个人赛跑,如果A的速度是B的两倍,则当A到达终点时,B则刚到中点。这样,只需要遍历一遍即可。 2.链表的排序 解法:排序的方法很多,但由于链表自身的特性,使得它在使用归并排序时,很原创 2016-04-18 20:27:16 · 328 阅读 · 0 评论 -
狸猫的面试——项目描述——矢量裁剪
项目描述: 要求:在4s内,用单线程,完成对百万级的矢量图形的裁剪 输入:1.一个多边形(存储在XML文件中,顺序存储多边形所有的端点) 2.一个矢量图形(line或者circle)。line存储其两个端点AB,circle存储其圆心O和半径r。(实际有一百万条直线和一百万个圆) 输出:输出裁剪后的图形。例如 裁剪过程(以一条直线为例): 1.计算该直线与多边形原创 2016-05-02 20:31:03 · 435 阅读 · 0 评论 -
狸猫的面试——项目描述——视频通信
软件需求: 1.最大支持4人 2.能进行文本通信,视频通信。 3.用户上下线的通知 软件设计: 2015/09/14 关于服务器与客户端线程处理的设想: 服务器: 1.服务器要为每个用户启动一个线程来处理服务器与用户之间的交互 2.这个线程中要分为两个线程 一个用来处理文本 一个用来处理音频 客户端: 1.启动两个线程 一个用来处理文本 一个用来处理音频 2原创 2016-05-02 21:19:58 · 392 阅读 · 0 评论 -
狸猫的面试——JVM内存回收
写在前面:详述JVM中内存管理机制以及GC机制 内存组成: 1)堆 所有通过new创建的对象的内存都在堆中分配,其大小可以通过-Xmx和-Xms来控制。堆被划分为新生代和旧生代,新生代又被进一步划分为Eden和Survivor区,最后Survivor由From Space和To Space组成 2)栈 每个线程执行每个方法的时候都会在栈中申请一个栈帧,每个栈帧包括局部变量区和原创 2016-05-05 23:11:14 · 414 阅读 · 1 评论 -
c++内存
from http://blog.csdn.net/zhanghefu/article/details/5003407 C++内存管理详解 内存分配方式 分配方式简介 在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 栈,在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单原创 2016-05-05 23:34:24 · 284 阅读 · 0 评论 -
GCC的struct大小
计算结构体的大小 假设 sizeof(char)=1 sizeof(int) = 4 概念描述: 偏移量:偏移量指的是结构体变量中成员的地址和结构体变量地址的差 结构体大小:结构体大小等于最后一个成员的偏移量加上最后一个成员的大小 GCC的地址对齐原则: 1.结构体变量中成员的偏移量必须是成员大小的整数倍(0被认为是任何数的整数倍) 2.结构体大小必须是所有成员大小的整数倍原创 2016-05-19 10:15:35 · 950 阅读 · 0 评论