你的位置:首页 > Java教程

[Java教程]航旅事业群面试(li)


一、JVM

  1.如何观察垃圾回收?

  2.JAVA应用的JVM参数调优?

  3.举例说明你所知道的JVM profile方法?

  4.GC tunning实战。假如你是一个大型网站的总架构师,有次web应用升级后,出现了大量的磁盘频繁读写的情况,你如何调优,看他的思路?

二、JS

  1.js跨域问题产生的原因?

  2.什么是js的prototype,为啥有这样的设计,举例说明应用场景。

三、Hibernate

  1.数据装载模式(延迟加载等)?

  2.多表关联映射?

  3.乐观锁和悲观锁实例?

  4.一级缓存和二级缓存实例,list和iterate在底层sql执行和缓存读取上的区别?

四、数据库

  1.什么是索引,复合索引,执行计划,给个场景,索引时越多越好吗,为什么?让其设计复合索引

  2.说说了解的数据库engine?

  3.如何实现数据切分?

五、设计模式

  1.你所了解的设计模式,举例

  2.各设计模式的应用场景,举例说明

  3.现场编码,如单例模式。

六、

 

1. 文件查找命令    find . |grep -e "\.java$" | wc -l  当前以及子目录下一共有多少个java类   find . |grep -e "\.vm$"  | wc -l  当前以及子目录下一共有多少个vm模板    find . |grep -e "\.java$" | xargs grep "LogFactory.getLog" 当前以及子目录下所有包含LogFactory.getLog的Java类   find . |grep -e "\.java$" |xargs grep "LogFactory.getLog" |grep -v static 当前以及子目录下所有包含LogFactory.getLog的Java类,但过滤掉包含static的文件    find: 查找文件的命令 http://baike.baidu.com/view/801452.htm#1   grep: 文本搜索工具 http://baike.baidu.com/view/1057278.htm#sub1057278   xargs: 构造参数列表并运行命令 http://baike.baidu.com/view/2285387.htm#sub2285387  2. 进程命令    netstat -anp | grep 9100  得到占用9100端口的进程ID   ps -ef | grep 30529    查看进程的详细信息    netstat 监控TCP/IP网络的非常有用的工具 http://baike.baidu.com/view/28008.htm#sub28008   ps 进程查看命令 http://enterparse.blog.163.com/blog/static/11713797420096921232931/  3. 查看ip地址    ifconfig 或者 /sbin/ifconfig 查看本机ip地址   curl http://www.ip138.com/ip2city.asp  或者 浏览器下访问http://www.ip138.com/  显示出口IP地址    ifconfig 显示网络设备的命令 http://baike.baidu.com/view/1001503.htm#sub1001503   curl 利用URL语法在命令行方式下工作的文件传输工具 http://baike.baidu.com/view/1326315.htm#sub1326315  4. 文件传输    scp ./log/a.log lihx@10.20.131.215:/home/lihx 当本机的./log/a.log传输到ip为10.20.131.215的/home/lihx目录下    scp 文件传输命令 http://baike.baidu.com/view/18809.htm#sub18809  5. 文本分析命令    cmd/gm.sh "grep USER_QUERY output/logs/usr/alipay/alipay_message.log.2010-11-08" | grep OUTPUT | awk -F'userId' '{print $2}' | sort | uniq -c | wc -l    cmd/gm.sh 预发布机上的命令,一次轮询每台服务器执行命令   awk 文本处理工具 http://baike.baidu.com/view/209681.htm#sub209681   sort 对文本进行排序  http://baike.baidu.com/view/1374853.htm#sub1374853   uniq -c 去重,并显示相同行出现的次数 http://baike.baidu.com/view/1374849.htm#sub1374849   wc -l 统计行数 http://baike.baidu.com/view/24408.htm#sub24408    wc -l output/logs/cookie_logs/2/cookie_log  统计生产环境一台web服务器一天的cookie_log的行数    wc -l 统计文本的行数    cat cookie_log | awk '{print $8}' | awk -F"?" '{print $1}' | sort | uniq -c | sort -nr | head -10  调用次数Top 10 URL    uniq -c 去重,并显示相同行出现的次数   srot -nr 排序,按照数字排序,倒叙显示   head -10 显示前面10条记录    grep 'alipay_info.jsx' cookie_log|awk '{sum+=$12} END {print "Average = ", sum/NR}' 统计响应时间  6. 抓包工具    tcpdump -i lo -n 监听所有本地网络端口(localhost)的收到和发出的所有数据包   tcpdump -i lo -n 'port 9200' 监听本地网络端口(localhost)的收到和发出的所有数据包(端口号为9100)    tcpdump -A -n -s0 -i eth0 'host www.alipay.net and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'  监听访问支付宝的数据包内容    -A 显示抓取的包的内容   -n 不要作DNS反向解析。否则的话,软件会试图去查询这个IP的域名(或者主机名)。通常,关闭这一项可以提高速度。(插一句,反查在 我看来相当可恶,没必 要又拖累速度。但几乎所有GNU的那些东西,如ping, traceroute,默认都会打开,真不了解那些开发是怎么想的。)   -i 后面必须指出发生接口调用通信的接口设备名称,使用ifconfig可以看到本机所有的网络设备名称   -s 这里配置0,表示不作 truncate,显示所有的数据   host: 指出APPSERV2的地址,也可以是域名   -X, 可以列出十六进制 (hex) 以及 ASCII 的数据包内容,对于监听数据包内容很有用。   tcp port: 指出接口服务监听的端口,一般都配在antx.properties中   (((ip[2:2] - ((ip0&0xf)<<2)) - ((tcp12&0xf0)>>2)) != 0):这个不用细究了,说的简单点,就是告诉tcpdump忽略掉tcp包中的SYN和FIN,只留下携带数据,对我们有意义的ACK包。  7. JVM监控工具:http://dolphin-ygj.iteye.com/blog/366216  8. linux命令行下格式化

 

附录: