常见面试点

1.语言基础

多态定义:“一个接口,多种方法”,程序在运行时才决定调用的函数。

虚表:对象不包含虚函数表,只有虚指针,类才包含虚函数表,派生类会生成一个兼容基类的虚函数表。编译期决定虚表的指向 。

2.网络

三次握手

分层:

常见面试点_第1张图片


tcp报头:ethernet 14 + ip 20+tcp 20 。tcp报头长度不足60后面补padding,为了长度是4的倍数

ip分类分段

socket编程:Windows操作系统提供了选择(Select)、异步选择(WSAAsyncSelect)、事件选择(WSAEventSelect)、重叠I/O(Overlapped I/O)和完成端口(Completion Port)共五种I/O模型。

TCP编程的服务器端一般步骤是:
1、创建一个socket,用函数socket();
2、设置socket属性,用函数setsockopt(); * 可选
3、绑定IP地址、端口等信息到socket上,用函数bind();
4、开启监听,用函数listen();
5、接收客户端上来的连接,用函数accept();
6、收发数据,用函数send()和recv(),或者read()和write();
7、关闭网络连接;
8、关闭监听;

struct sockaddr_in addr; 定义一个ip地址

TCP编程的客户端一般步骤是:
1、创建一个socket,用函数socket();
2、设置socket属性,用函数setsockopt();* 可选
3、绑定IP地址、端口等信息到socket上,用函数bind();* 可选
4、设置要连接的对方的IP地址和端口等属性;
5、连接服务器,用函数connect();
6、收发数据,用函数send()和recv(),或者read()和write();
7、关闭网络连接;

TCP分段与IP分片:http://blog.csdn.net/ns_code/article/details/30109789

3.算法

链表逆序

快速排序

二叉树先序 中序 后序


4.数据库

1. 数据抽象:物理抽象、概念抽象、视图级抽象,内模式、模式、外模式

2. SQL语言包括数据定义、数据操纵(Data Manipulation),数据控制(Data Control)

数据定义:Create Table,Alter Table,Drop Table, Craete/Drop Index等

数据操纵:Select ,insert,update,delete,

数据控制:grant,revoke


5.操作系统

大端小端

实时

系统调用

动态库静态库


状态机:AC算法,一种带有失败转移的字典树。模式匹配效率为O(N)

4.项目

抓包怎么测试压力:使用工具占满带宽,然后测试用户行为能否被正常监控。可以使用iftop查看流量情况。测试结果为

流量为200m/s的时候会开始丢包。丢包的时候,监控结果会错,但是程序不会崩溃也不会内存泄漏。程序可以正常在网关

跑一个月以上。

怎么拆包:解析Ethernet头,ip头,tcp头,根据报文内容进行解析

5.金融

平时喜欢看一些金融类节目。然后会看一些金融类书籍。会看一点K线,背离,趋势,压力,支撑。会简单用一点理论。

有一些比特币现货期货实战经验。

个人认为分仓位,做好止盈止损最重要。每次做单前要考虑为什么做,什么时候收,止损位置在哪里。


6.自我介绍

你可能感兴趣的:(面试)