一、造成网络延迟的可能原因

1,WiFi所有用户上下行流量共用一个信道,当用户太多或者有人在下载大的资源时带宽不够,丢包;

2,线路质量不佳导致信噪比太低,比如光纤损耗太大等。

二、IPv6优势

1,IPv4地址不够用,IPv6有$2^{128}$个地址;

2,使用更小的路由表,转发速度更快;

3,扩充了DHCP协议,支持自动配置;安全性更高,有更好的头部格式,允许扩容......

三、找到单向无环链表的中间元素,若结点总数为偶数,返回第二个元素。

https://leetcode.com/problems/middle-of-the-linked-list/

只扫描一遍的做法:设两个指针,初始指向头结点,p1每次走两步,p2每次走一步,p1到达链尾,p2到达中间。假设链表带有头结点。

/*单链表定义*/
struct ListNode{
int val;
ListNode* next;
ListNode(int x) :val(x), next(NULL) {};
}; class Solution {
public:
ListNode * middle(ListNode* head)
{
if (head == NULL)
return NULL;
ListNode* fast = head;
ListNode* slow = head;
while (fast && fast->next)
{
fast = fast->next->next;
slow = slow->next;
}
return slow;
}
};

四、给出四个点坐标,判断是否是凸四边形

不妨扩展下该问题,给出任意n个点,判断是否凸多边形。

http://acm.hdu.edu.cn/showproblem.php?pid=2108

凸多边形就是所有内角均小于180°,方法有好几种,这里利用定点凹凸性判断:

设当前三个连续的顶点$P_0, P_1, P_2$,计算向量$P_0P_1$, $P_1P_2$的叉积,若结果为正,表示多边形顶点逆时针转;若结果为负,两向量夹角大于180°,则为凹多边形。

 #define _CRT_SECURE_NO_WARNINGS

 #include <cstdio>
#include <vector> using namespace std; struct point {
int x, y;
}p[]; int cross_p(point a, point b,point c)
{
return (b.x - a.x) * (c.y - b.y) - (c.x - b.x) * (b.y - a.y);
} bool isConvex(int n)
{
for (int i = ; i < n; i++)
{
//叉积量值
if (cross_p(p[i], p[(i + ) % n], p[(i + ) % n]) < )
return false;
}
return true;
} int main()
{
int n; while (scanf("%d", &n) && n)
{
for (int i = ; i < n; i++)
{
scanf("%d%d", &p[i].x, &p[i].y);
}
if (isConvex(n))
printf("convex\n");
else
printf("concave\n");
} return ;
}

五、两个位数在10万位以内的数乘法

https://leetcode.com/problems/multiply-strings/

高精度乘法,模仿我们笔算的过程。每一位$res[i + j]$的构成:$res[i + j] + carry + a[i] * b[j]$,注意去掉结果的前导0。

 class Solution {
public:
string multiply(string num1, string num2) {
int a[], b[], res[];
memset(a, , sizeof(a));
memset(b, , sizeof(b));
memset(res, , sizeof(res)); int lena = num1.size(), lenb = num2.size();
for (int i = ; i < lena; i++)
a[i] = num1[lena - i - ] - '';
for (int i = ; i < lenb; i++)
b[i] = num2[lenb - i - ] - ''; for (int i = ; i < lenb; i++)
{
int carry = ;
for (int j = ; j < lena; j++)
{
res[i + j] = res[i + j] + a[j] * b[i] + carry;
carry = res[i + j] / ;
res[i + j] %= ;
}
res[i + lena] = carry;
} int len_res = lena + lenb;
//去掉结果的前导0,若结果为0,保留一个0
while (res[len_res - ] == && len_res > )
{
len_res--;
}

       //使用字符串流将整数转为字符串
stringstream ans;
for (int i = len_res - ; i >= ; i--)
{
ans << res[i];
}
return ans.str();
}
};

六、其它

1,操作系统:CPU调度,用户态&内核态,IPC,各种锁,实时系统;

2,数据结构:判断有向图是否存在回路(拓扑排序、求最短路、关键路径、BFS),排序(快排、冒泡、选择、插入),链表是否有环;

3,计网:ARP、TCP/UDP、NAT、802.11ac协议,ping过程;

4,C++多态。

INTERVIEW #0的更多相关文章

  1. Jmeter(七)关联之JSON提取器

    如果返回的数据是JSON格式的,我们可以用JSON提取器来提取需要的字段,这样更简单一点 Variable names:保存的变量名,后面使用${Variable names}引用 JSON Path ...

  2. ZAM 3D 制作简单的3D字幕 流程(二)

    原地址:http://www.cnblogs.com/yk250/p/5663907.html 文中表述仅为本人理解,若有偏差和错误请指正! 接着 ZAM 3D 制作简单的3D字幕 流程(一) .本篇 ...

  3. ZAM 3D 制作3D动画字幕 用于Xaml导出

    原地址-> http://www.cnblogs.com/yk250/p/5662788.html 介绍:对经常使用Blend做动画的人来说,ZAM 3D 也很好上手,专业制作3D素材的XAML ...

  4. 微信小程序省市区选择器对接数据库

    前言,小程序本身是带有地区选着器的(网站:https://mp.weixin.qq.com/debug/wxadoc/dev/component/picker.html),由于自己开发的程序的数据是很 ...

  5. osg编译日志

    1>------ 已启动全部重新生成: 项目: ZERO_CHECK, 配置: Debug x64 ------1> Checking Build System1> CMake do ...

  6. Cracking The Coding Interview 9.0

    #include <iostream> #include <vector> using namespace std; void mswap(int &a, int &a ...

  7. Cracking The Coding Interview 2.0 单链表

    #include <iostream> #include <string> using namespace std; class linklist { private: cla ...

  8. Pramp mock interview (4th practice): Matrix Spiral Print

    March 16, 2016 Problem statement:Given a 2D array (matrix) named M, print all items of M in a spiral ...

  9. WCF学习系列二---【WCF Interview Questions – Part 2 翻译系列】

    http://www.topwcftutorials.net/2012/09/wcf-faqs-part2.html WCF Interview Questions – Part 2 This WCF ...

随机推荐

  1. 三通道低功耗ASK低频唤醒接收器PAN3501完全替代AS3933/GC3933

    低频唤醒接收器PAN3501软硬件兼容AS3933/GC3933,且新增了寄存器功能,可直接替换,供应稳定,高性价比. 产品介绍:    PAN3501是一款最多三个通道接收的低功耗ASK接收机,可用 ...

  2. 记一次mysql多表查询(left jion)优化案例

    一次mysql多表查询(left jion)优化案例 在新上线的供需模块中,发现某一个查询按钮点击后,出不来结果,找到该按钮对应sql手动执行,发现需要20-30秒才能出结果,所以服务端程序判断超时, ...

  3. BurpSuite 安装配置简明教程

    文章更新于:2020-04-14 按照惯例,需要的文件附上链接放在文首. 文件名:jdk-8u241-windows-x64.7z 文件大小:208.43 MB 下载链接:https://downlo ...

  4. Array(数组)对象-->sort() 方法

    1.定义和用法 sort() 方法用于对数组的元素进行排序. 默认排序顺序为按字母升序. 语法: array.sort(sortfunction) 参数: sortfunction:规定排序顺序.必须 ...

  5. 超过百万的StackOverflow Flutter 问题

    老孟导读:今天分享StackOverflow上高访问量的20大问题,这些问题给我一种特别熟悉的感觉,我想你一定或多或少的遇到过,有的问题在stackoverflow上有几十万的阅读量,说明很多人都遇到 ...

  6. Fiddler实战之拟2G、3G、4G网络进行弱网测试

    至于fidder网络代理设置就不多说了 模拟网速: 1.启动Fiddler,打开菜单栏Rules---Performances---Simulate Modem Speeds这里打开了模拟调节速度 2 ...

  7. 面试题 ~ 什么是RESTful?

    一 : 说说什么是REST规则   ① 首先什么是REST  ? 基于HTTP.URI.XML.JSON等标准和协议,支持轻量级.跨平台.跨语言的架构设计.是Web服务的一种新的架构风格(一种思想). ...

  8. AJ学IOS 之微博项目实战(13)发送微博调用相机里面的图片以及调用相机

    AJ分享,必须精品 一:效果 二:代码 相机部分就简单多了,几行代码调用而已,但是如果你要是想实现更多丰富的功能,需要自己写.利用AssetsLibrary.framework,利用这个框架可以获得手 ...

  9. Thinking in Java,Fourth Edition(Java 编程思想,第四版)学习笔记(八)之Reusing Classes

    The trick is to use the classes without soiling the existing code. 1. composition--simply create obj ...

  10. three.js obj转js的详细步骤 convert_obj_three.py的用法

    three.js是最近非常流行的一个前端webgl库. js格式的模型文件是three.js中可以直接加载的文件.使用THREE.JSONLoader()直接加载,而不需要引用其它的loader插件. ...