面试查漏补缺——阿里

阿里电话面试

面试时间:2015-03-16html

Java StringBuffer和StringBuilder的区别的问题。

String,StringBuffer与StringBuilder的区别??程序员

StringBuilder and StringBuffer面试

简单来讲:StringBuilder的效率更高;StringBuffer是线程安全的,而StringBuilder不是线程安全的。安全

快排性能

  • 平均时间:O(nlogn)
  • 最差状况:O(n ^ 2)
  • 稳定度:不稳定
  • 额外空间:O(logn)或者O(n)

解释为何最坏状况是O(n ^ 2):考虑相似5 4 3 2 1的输入,那么每一个数都会被选为基准,所以每一个数都会和其余数进行比较,因此比较的次数就是n ^ 2。服务器

查看Linux负载状况

top命令性能

Thread vs Runnable

Thread和Runnable的区别ui

Thread是类,Runnable是接口。在实际使用中,更多地使用Runnable,由于接口的性质,值得实现接口能够给类提供更多的灵活性。.net

TCP vs UDP

  • TCP:传输控制协议,面向连接,可靠,提供了超时重发、丢弃重复数据、检验数据、流量控制等,保证数据从一端传到另外一端。
  • UDP:用户数据报协议,面向数据包,不可靠,只管发送,不保证送达,也没有超时重传机制,故而速度很快。

建立索引

create index index_name on table_name线程

2015-03-18 Upatecode

阿里视频面试

堆和栈的区别

堆和栈的区别(转过无数次的文章)

简单来说,形如int a = 1的基本类型,都分配在栈上,且栈上的对象能够共享;形如Object obj = new Object()的对象,都分配在堆上,不可共享。

栈的速度要比堆快,在C++中,分配在栈上的空间由系统回收,分配在堆上的空间由程序员回收,也就是del。可是因为Java有JVM的存在,因此基本不用本身回收任何资源。

TCP/IP协议断开时须要几回

图解TCP-IP协议

TCP\IP三次握手链接,四次握手断开分析

简单形容的话,创建链接时的三次握手:

  1. 客户端 —> 服务器,客户端请求链接
  2. 服务器 —> 客户端,服务器确认链接信息
  3. 客户端 —> 服务器,客户端确认链接信息,开始链接

断开链接时的四次握手:

  1. A —> B,A请求断开链接
  2. B —> A,B确认请求并准备断开链接
  3. B —> A,B关闭链接并通知A
  4. A —> B,A确认关闭
相关文章
相关标签/搜索