程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> 航旅事業群面試(li),li

航旅事業群面試(li),li

編輯:JAVA綜合教程

航旅事業群面試(li),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 [email protected]:/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命令行下格式化xml:xmllint --format test.xml
    
   9. 從正式服務器中獲取日志文件到預發布機器,例如獲取gateway.log
./cmd/gm.sh 'cat output/logs/usr/gateway/gateway.log' > gateway.log
 
   10. 匹配某個關鍵字,並對下一行進行合並,例如過濾出payCallService異常(合並下一行主要是為了獲取異常碼)
sed '/payCallService.pay is error/{N;s/\n/,/}' gateway.log > gateway_tmp.log
 
   11. 過濾某個關鍵字,並akw輸入某個關鍵域,並利用uniq進行去重
cat gateway_tmp.log | grep CREATE_TRADE_ERROR | awk -F, '{print $2}' | awk -F= '{print $2}' | uniq -c

 

附錄:

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved