(1)算法基本功——高速排序javascript
對文件 largeW.txt(下載連接)中的數據,應用高速排序算法進行排序。並與冒泡排序、歸併排序進行時間比較。體驗算法複雜度對設計算法的影響。css
如下是高速排序的代碼和執行效果,冒泡排序、歸併排序的代碼和結果請參照個人還有一篇博文:http://blog.csdn.net/wanghaiping1993/article/details/22232293html
package test;
import java.io.BufferedReader; import java.io.File; import java.io.FileOutputStream; import java.io.FileReader; import java.io.IOException; import java.util.ArrayList;</p><p>//高速排序 public class QuickSort { public static void main(String[] args){ double start_all = System.currentTimeMillis(); String path = "txt/largeW.txt"; ArrayList<Integer> list=read(path); double start = System.currentTimeMillis(); QuickSort quickSort = new QuickSort(); quickSort.quickSort(list,0,list.size()-1); double end = System.currentTimeMillis(); System.out.println("高速排序時間爲: " + (end - start)+"毫秒"); // 寫入txt文件 double end_all = System.currentTimeMillis(); write(list); System.out.println("寫入完畢"); System.out.println("總執行時間爲: " + (end_all - start_all)+"毫秒"); } //建立並寫入largeW_quick.txt文件 public static void write(ArrayList<Integer> list) { File f = new File("txt/largeW_quick.txt"); FileOutputStream fou = null; try { fou = new FileOutputStream(f, false);// true,設置可追加</p><p> for (int i = 0; i < list.size(); i++) { String s = String.valueOf(list.get(i)); String a = "" + s + "\t\n"; // byte []bytes=new byte[1024]; // 怎樣把string轉換byte數組 fou.write(a.getBytes());</p><p> } } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } finally { try { fou.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } } public void quickSort(ArrayList<Integer> list,int first, int end){ if(first<end){ int pivot = partition(list,first,end); quickSort(list,first,pivot-1); quickSort(list,pivot+1,end); } } public int partition(ArrayList<Integer> a, int first , int end){ int i = first; int j = end; while(i<j){ while(i<j&&a.get(i)<=a.get(j))j--; if(i<j){ int temp; temp = a.get(i); a.set(i, a.get(j)); a.set(j, temp); i++; } while(i<j&&a.get(i)<=a.get(j))i++; if(i<j){ int temp; temp = a.get(j); a.set(j, a.get(i)); a.set(i, temp); j--; } } return i ; } //讀取文件到int數組 public static ArrayList read(String path) { ArrayList<Integer> list = new ArrayList<Integer>(); BufferedReader input = null; try { FileReader in = new FileReader(path); input = new BufferedReader(in); String ss; try { while ((ss = input.readLine()) != null) { String[] s = ss.split("\r\n"); for (int i = 0; i < s.length; i++) { list.add(Integer.parseInt(s[i].trim())); // 將String s中的內容加入到動態數組中 } } } catch (IOException e) { // TODO 本身主動生成的 catch 塊 e.printStackTrace(); } in.close(); input.close(); } catch (Exception e) { // TODO 本身主動生成的 catch 塊 e.printStackTrace(); }</p><p> return list; } }
結果:
排序後的結果:前端
(2)經典算法面試題(至少選擇當中1道題並做答,有本身的思考與理解)java
他們經過這座橋分別需要耗時一、二、五、10分鐘,僅僅有一支手電。並且同一時候最多僅僅能兩我的一塊兒過橋。jquery
請問。怎樣安排。能夠在17分鐘內這四我的都過橋?angularjs
解答: 方法是:思路就是必定要讓1。2分鐘的人來送電筒。web
方案一:面試
過河去: 1。2分鐘的人 總耗時2算法
回來送手電筒: 1分鐘的人 總耗時3
過河去: 5,10分鐘的人 總耗時13
回來送手電筒: 2分鐘的人 總耗時15
過河去: 1。2分鐘的人 總耗時17
方案二:
過河去: 1。2分鐘的人 總耗時2
回來送手電筒: 2分鐘的人 總耗時4
過河去: 5,10分鐘的人 總耗時14
回來送手電筒: 1分鐘的人 總耗時15
過河去: 1。2分鐘的人 總耗時17
(4)實習與工做
上招聘站點(如 51job、智聯招聘)上查看本身感興趣的職位與要求。
做業要求:寫下本身感興趣工做的至少2個崗位名稱(如Java程序猿、搜索引擎project師)、工做崗位詳細要求、自身眼下具有哪些條件、有哪些不足的地方並怎樣彌補。
感興趣的崗位1:JAVA軟件project師
詳細要求:
公司一:
計算機相關專業本科以上學歷
熟練掌握Linux或Windows操做系統
熟悉Internet/Intranet相關技術、數據庫技術
對JAVA/JSP的應用環境有較好的瞭解,有實踐經驗者優先
具備HTML,Javascript的開發基礎,熟悉網頁製做
具備較好的服務意識、溝通能力、責任心強、學習能力強
公司二:
一、本科或以上學歷,計算機相關專業畢業,2年以上Java編程經驗,有B/S軟件開發經驗;
二、熟悉Struts、Spring、Hiberate 等主流開源框架;
三、熟悉Dwr、ExtJS等JavaScript、Ajax框架;
四、熟悉Weblogic、Tomcat等應用server的部署與配置;
五、掌握Sqlserver、Mysql等關係類型數據庫;
六、熟練使用開發工具Eclipse,SVN等。
七、優先考慮熟悉JBPM和EXTJS者。
公司三:
熟練掌握Linux或Windows操做系統
熟悉Internet/Intranet相關技術、數據庫技術
對JAVA/JSP的應用環境有較好的瞭解,有實踐經驗者優先
具備HTML,Javascript的開發基礎,熟悉網頁製做
具備較好的服務意識、溝通能力、責任心強、學習能力強
感興趣的崗位2:WEB前端開發project師
詳細要求:
公司一:
一、依據項目需求,高效和高質的完畢代碼編寫;
二、配合開發project師,以確保代碼有效對接;
三、與設計師密切配合,實現符合用戶體驗的交互效果;
任職要求:
一、 精通W3C標準及規範,熟練掌握Html,Css,Javascript;
二、 熟練掌握 jquery;
三、 能夠輕鬆解決各瀏覽器兼容問題。
四、 瞭解使用過 angularjs 或 backbonejs 或 durandaljs 等MV*框架 (一種或以上) 。
五、 對Web技術專研有強烈興趣。有較強的學習能力,良好的溝通能力和團隊合做精神;
優先錄取項:
一、 瞭解或實踐過響應式頁面,具有必定的移動web開發經驗。
二、 熟悉使用bootstrap 或 foundation 等前端框架(一種或以上).
三、 熟悉使用 Sass 或Less 等CSS預處理器(一種或以上)。
公司二:
公司三:
眼下我具有的條件
1,對學習了jsp,對spring,hibernate,struct有所瞭解但不精通。
2.會基本html,javascript,css+div,jquery技術
3.會簡單使用photoshop,dreamweaver,eclipse等工具的使用。
不足:對這些專業知識學的不精通。瞭解皮毛,對於真正就業的要求仍是有差距的。
補充本身的不足:趁現在還有半年在學校的機會。依據公司的要求一一的去強化本身的知識技能,儘量的達到公司就業的要求。另外,利用盡力在暑假找一個實習的機會,而後更加近距離的接觸社會,從而發現本身的不足來改進本身。