项目的思考
ZeroTierOne:
1、ZeroTierOne的架构
2、ZT的多线程和多进程(使用的线程池,怎么实现,为什么)
3、使用到的设计模式(Topology是单例模式,。。。工厂模式。。抽象工厂模式)
4、如何着手开源项目(review源码->注释掉加密压缩函数->抓包->对着代码分析报文格式->一共有XXX种报文,逐一分析)
5、select和epoll的区别。详述IO复用
6、为什么使用UDP和不使用TCP传输,应用层如何保证数据的可靠传输
7、多线程中容易遇到coredump,如何定位错误?
8、多线程中遇到思死锁,怎么定位,如何解决?
7、项目中遇到的问题,如何解决的
天行健,君子当自强不息