先记录下问题,问题的答案慢慢来解答~~
1.单机为5G的memcache,用了3G数据,在put的时候,数据会丢失嘛?(memcache的slab)
http://ourmysql.com/archives/730
3.一个4亿用户的系统,数据库设计要注意啥,应用设计要注意啥?
数据库设计方面要慎重选用字段类型,能用int时尽量用int,我曾经做个一个测试,一个一千万条记录的表,userid为int与bigint大小差一倍;数据库水平或者垂直拆分(分表或分库);数据库合理建立索引;
应用层设计,静态页面化,针对js或者css等文件对其进行gzip压缩,减少网络传输量。合理使用缓存,在缓存中的value尽量采用序列化后比较小的格式,比如 protocol buffers。
4.微博系统设计中的常见问题(跨机房数据同步问题,数据存储问题,pull还是push)
5.那个map适用于做cache(LinkedHashMap)
提供特殊的构造方法来创建链接哈希映射,该哈希映射的迭代顺序就是最后访问其条目的顺序,从近期访问最少到近期访问最多的顺序(访问顺序)。这种映射很适合构建 LRU 缓存。
6.linux常用的文件行数统计,个数统计,常见命令
netstat –plten 查看端口
lsof |wc -l 查看文件打开数量
/etc/sysconfig/network /etc/hosts 主机名配置地址
设置开机启动项 /etc/rc.local chkconfig –add mysqld start
sed -n '100{p;q}' filename sed -n '51q;45,50p' filename sed -n '45,50p' filename 查看文件的某行
cat *|grep 'str' 查找当前文件包括str的内容
find . -name "*.jsp" |wc -l 查看当前文件夹下jsp文件个数
find . -name "*.jsp" |xargs cat|wc -l 查看当前路径下jsp文件总条数
7.一些相关的nosql产品 MongoDB,Redis,mysqlhandlersocket,hbase
8.voltite关键字在i++的时候能保证同步么
不能保证,应为i++后会有个i = i+1的赋值过程
9.线程同步相关,synchornized,lock,ThreadLocal
10.一个400G的文件如何处理
文件切分后形成文件名称队列,多线程读取文件名处理。其中还要考虑出错后的处理
11.数据库的索引,聚合索引,BTree
12.http协议
13.常见的互联网产品
14.jvm模型,gc,gc策略,相关参数
15.java类的内存分配情况
16.mysql参数调优,master,slave配置,当slave与master不同步时怎么处理
17.struts2的源码实现,spring ioc,spring aop,事务的源码实现
struts2:http://www.blogjava.net/lzhidj/archive/2008/07/10/213898.html
spring源码分析目录:http://hi.baidu.com/javabbs/blog/item/44f0bf77a3c09810b151b93f.html
18.数据库的事务级别
19.集合类的相关源码分析,HashMap,ConcurrentHashMap等
20.常用的设计模式
21.负载均衡的相关策略,轮询,最小连接数以及原理