ios開發目錄結構
『壹』 如何將網站的目錄結構拷貝到ios安裝包內
看看這本書中的介紹iOS 6 Programming Cookbook下載地址: http://l4.yunpan.cn/lk/QvEEpQtRg5zAW如下章節內容(page83):1.26 Creating BundlesProblemYou want to group your resources into hierarchical structures and be able to accessthose resources at runtime with ease.Solution1.27 Loading Data from the Main BundleProblemYou have added a resource (such as an image) to your Xcode project and now, atruntime, you would like to access that resource.1.28 Loading Data from Other BundlesProblemYou have included a few images or other resources in a separate bundle inside yourmain bundle and you would like to access those resources at runtime.
『貳』 IOS應用項目的類及包結構是什麼樣的
Classes一般用來放置類,.h是;類的頭文件(定義文件),.m是類的實現文件
Resources是資源文件,用來存放圖片,音視頻,已經工程信息(.plist那個),還有就是xib文件(view管理)
Framework顧名思義就是各種框架了,默認給出了三個框架,需要添加新的框架時新增的框架會存放到這里
『叄』 請問在ipad的目錄結構中,Media下PhotoData和DCIM文件夾在功能上有什麼區別呢
PhotoData文件夾在iPad中的作用,是儲存應用內的圖片數據。大部分的應用都會將其儲存的圖片文件暫時存檔在該文件夾中。如果用戶將iPad連接到了電腦並打開這個文件夾,則可以看見很多應用儲存的圖片文件。
而DCIM文件夾的作用是儲存用戶拍攝的照片。用戶通過攝像頭拍攝的所有照片,默認都存放在DCIM文件夾下,但是這並不意味著DCIM文件夾下的所有照片都是用戶拍攝的。
因此,兩個文件夾主要的不同在於其存放的文件來源不同,作用也不同。
『肆』 iOS 的沙盒目錄結構是怎樣的
NSString *home = NSHomeDirectory();//獲取沙盒路徑
//拼接Documents路徑
//NSString *docPath = [home stringByAppendingStringt:@"/Documents"];
NSString *docPath = [home :@"Documents"];
NSString *filePath = [docPath :@"data.plist"];
NSArray *array = @[@1,@2,@"123"];
//具備writeToFile象才能使用plist存儲NSArray
[array writeToFile:filePath atomically:YES];
主要獲取路徑文件寫路徑
『伍』 ios xcassets文件怎麼創建
第一個iOS程序
首先打開Xcode—Create a new Xcode project—Single View Application--輸入項目名稱,同時選擇使用Objective-C語言,設備選擇iPhone--接下來系統默認生成一個IOS項目模板。項目目錄結構如下:
firstios
此時什麼也不用做,直接運行看一下(注意這里已經切換模擬器為iPhone5),沒錯我們看到了一個iOS應用程序:
firstIOS-iPhone5
程序的運行過程
在幾乎所有的程序開發中程序一般都是從main函數開始運行的,那麼IOS程序也不例外,在上圖中我們可以看到Xcode為我們生成了一個main.m文件:
//
// main.m
// FirstIOS
//
// Created by Kenshin Cui on 14-2-23.
// Copyright (c) 2014年 Kenshin Cui. All rights reserved.
//
#import <UIKit/UIKit.h>
#import "AppDelegate.h"
int main(int argc, char * argv[]) {
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
這個默認的iOS程序就是從main函數開始執行的,但是在main函數中我們其實只能看到一個方法,這個方法內部是一個消息循環(相當於一個死循環),因此運行到這個方法UIApplicationMain之後程序不會自動退出,而只有當用戶手動關閉程序這個循環才結束。這個方法有四個參數:
第一個參數和第二個參數其實就是main函數的參數,分別代表:參數個數、參數內容;
第三個參數代表UIApplication類(或子類)字元串,這個參數默認為nil則代表默認為UIApplication類,用戶可以自定義一個類繼承於這個類;如果為nil則等價於NSStringFromClass([UIApplication class]),大家可以自己試驗,效果完全一樣;UIApplication是單例模式,一個應用程序只有一個UIApplication對象或子對象;
第四個參數是UIApplication的代理類字元串,默認生成的是AppDelegate類,這個類主要用於監聽整個應用程序生命周期的各個事件(其實類似於之前我們文章中提到的事件監聽代理),當UIApplication運行過程中引發了某個事件之後會調用代理中對應的方法;
小技巧:
其實在Xcode中如果要看一些系統方法的解釋或者參數說明,可以直接滑鼠放到這個方法上,在Xcode右側面板中就會給出幫助提示,如下圖當我們放到UIApplicationMain上之後:
quickHelp
也就是說當執行UIApplicationMain方法後這個方法會根據第三個參數創建對應的UIApplication對象,這個對象會根據第四個參數AppDelegate創建並指定此對象為UIApplication的代理;同時UIApplication會開啟一個消息循環不斷監聽應用程序的各個活動,當應用程序生命周期發生改變UIApplication就會調用代理對應的方法。
既然應用程序UIApplication是通過代理和外部交互的,那麼我們就有必要清楚AppDelegate的操作細節,下面是UIApplication詳細的代碼:
AppDelegate.h
//
// AppDelegate.h
//
//
// Created by Kenshin Cui on 14-2-23.
// Copyright (c) 2014年 Kenshin Cui. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface AppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window;
@end
AppDelegate.m
//
// AppDelegate.m
//
//
// Created by Kenshin Cui on 14-2-23.
// Copyright (c) 2014年 Kenshin Cui. All rights reserved.
//
#import "AppDelegate.h"
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
return YES;
}
- (void)applicationWillResignActive:(UIApplication *)application
{
// Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
// Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
}
- (void)applicationDidEnterBackground:(UIApplication *)application
{
// Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
// If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
}
- (void):(UIApplication *)application
{
// Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
}
- (void)applicationDidBecomeActive:(UIApplication *)application
{
// Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
}
- (void)applicationWillTerminate:(UIApplication *)application
{
// Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
}
@end
這個類中定義了應用程序生命周期中各個事件的執行方法:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;程序啟動之後執行,只有在第一次程序啟動後才執行,以後不再執行;
- (void)applicationWillResignActive:(UIApplication *)application;程序將要被激活時(獲得焦點)執行,程序激活用戶才能操作;
- (void)applicationDidEnterBackground:(UIApplication *)application;程序進入後台後執行,注意進入後台時會先失去焦點再進入後台;
- (void):(UIApplication *)application;程序將要進入前台時執行;
- (void)applicationDidBecomeActive:(UIApplication *)application;程序被激活(獲得焦點)後執行,注意程序被激活時會先進入前台再被激活;
- (void)applicationWillTerminate:(UIApplication *)application;程序在終止時執行,包括正常終止或異常終止,例如說一個應用程序在後太運行(例如音樂播放軟體、社交軟體等)佔用太多內存這時會意外終止調用此方法;
為了演示程序的生命周期,不妨在每個事件中都輸出一段內容,簡單調整上面的代碼:
AppDelegate.m
//
// AppDelegate.m
// FirstIOS
//
// Created by Kenshin Cui on 14-2-23.
// Copyright (c) 2014年 Kenshin Cui. All rights reserved.
//
#import "AppDelegate.h"
@interface AppDelegate ()
@end
@implementation AppDelegate
『陸』 iOS 9更改了應用目錄結構,電腦端不能再備份應用了,也不能訪問應用內部數據,那是不是就意味著電腦
需要完美越獄。完美越獄後,安裝合適的插件,能直接訪問ios的任何目錄和文件。
『柒』 iOS開發進階的目錄
推薦序. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
第1 章引言. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 我為什麼要寫本書1
1.1.1 我的構思1
1.1.2 內容導讀1
1.1.3 目標讀者2
1.1.4 隨書示例代碼和勘誤2
1.1.5 致謝2
1.2 如何提高iOS 開發技能3
1.2.1 閱讀博客3
1.2.2 讀書3
1.2.3 看WWDC 視頻4
1.2.4 看蘋果的官方文檔4
1.2.5 看開源項目的代碼4
1.2.6 多寫代碼,多思考4
1.2.7 多和同行交流5
1.2.8 分享5
I 第一部分:iOS 開發工具
第2 章使用CocoaPods 做依賴管理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.1 CocoaPods 簡介9
2.2 CocoaPods 的安裝和使用10
2.2.1 CocoaPods 的安裝10
2.2.2 使用CocoaPods 的鏡像索引10
2.2.3 使用CocoaPods 11
2.2.4 查找第三方庫11
2.3 注意事項12
2.3.1 關於.gitignore 12
2.3.2 為自己的項目創建podspec 文件12
2.3.3 使用私有的pods 12
2.3.4 不更新podspec 12
2.3.5 生成第三方庫的幫助文檔13
2.3.6 原理13
第3 章網路封包分析工具Charles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.1 Charles 簡介15
3.2 Charles 的安裝和使用16
3.2.1 安裝Charles 16
3.2.2 安裝SSL 證書16
3.2.3 將Charles 設置成系統代理17
3.2.4 Charles 主界面介紹18
3.2.5 過濾網路請求18
3.3 使用Charles 協助iOS 開發19
3.3.1 截取iPhone 上的網路封包19
3.3.2 模擬慢速網路21
3.4 高級功能22
3.4.1 截取SSL 信息22
3.4.2 修改網路請求內容23
3.4.3 修改伺服器返回內容25
3.5 Map 功能25
3.6 Rewrite 功能27
3.7 Breakpoints 功能29
3.8 總結30
3.9 參考鏈接30
第4 章界面調試工具Reveal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.1 Reveal 簡介31
4.2 Reveal 的使用32
4.2.1 用Reveal 連接模擬器調試32
4.2.2 用Reveal 連接真機調試34
4.2.3 用Reveal 調試其他應用界面34
4.2.4 總結35
4.2.5 參考資料36
第5 章移動統計工具Flurry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.1 Flurry 簡介37
5.2 Flurry 的基本使用38
5.2.1 注冊和下載對應SDK 38
5.2.2 集成SDK 40
5.2.3 自定義統計項42
5.2.4 查看統計結果43
5.2.5 統計Crashlog 44
5.3 對比和總結45
5.3.1 和其他統計分析平台的對比45
5.3.2 總結45
第6 章崩潰日誌記錄工具Crashlytics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
6.1 Crashlytics 簡介47
6.2 Crashlytics 的使用49
6.3 實現原理和使用體會52
第7 章App Store 統計工具App Annie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
7.1 App Annie 簡介55
7.2 App Annie 的使用56
7.3 App Annie 賬號的注冊及配置59
7.4 和其他工具的對比60
7.4.1 官方的命令行工具60
7.4.2 其他類似服務61
7.4.3 功能對比61
第8 章Xcode 插件. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
8.1 Xcode 插件管理工具Alcatraz 63
8.1.1 簡介63
8.1.2 安裝和刪除64
8.1.3 使用64
8.1.4 插件路徑66
8.2 關於Xcode 的插件機制66
8.3 常用Xcode 插件66
8.3.1 KSImageNamed 66
8.3.2 XVim 67
8.3.3 FuzzyAutocompletePlugin 67
8.3.4 XToDo 67
8.3.5 BBUDebuggerTuckAway 68
8.3.6 SCXcodeSwitchExpander 68
8.3.7 deriveddata-exterminator 68
8.3.8 VVDocumenter 69
8.3.9 ClangFormat 69
8.3.10 ColorSense 69
8.3.11 XcodeBoost 70
第9 章其他工具介紹. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
9.1 取色工具:數碼測色計(DigitalColor Meter) 71
9.1.1 前言71
9.1.2 使用介紹71
9.1.3 其他類似工具:xScope 72
9.2 其他圖形工具73
9.2.1 ImageOptim 73
9.2.2 馬克鰻74
9.2.3 Dash 74
9.2.4 蒲公英75
9.3 命令行工具75
9.3.1 nomad 75
9.3.2 xctool 76
9.3.3 appledoc 76
II 第二部分:iOS 開發實踐
第10 章理解內存管理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
10.1 引用計數81
10.1.1 什麼是引用計數,原理是什麼81
10.1.2 我們為什麼需要引用計數83
10.1.3 不要向已經釋放的對象發送消息85
10.1.4 循環引用(reference cycles)問題85
10.1.5 使用Xcode 檢測循環引用88
10.2 使用ARC 90
10.2.1 Automatic Reference Count 90
10.2.2 Core Foundation 對象的內存管理92
第11 章掌握GCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
11.1 GCD 簡介95
11.2 使用GCD 97
11.2.1 block 的定義97
11.2.2 系統提供的dispatch 方法98
11.2.3 修改block 之外的變數99
11.2.4 後台運行99
11.2.5 總結100
第12 章使用UIWindow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
12.1 UIWindow 簡介101
12.2 為UIWindow 增加UIView 102
12.3 系統對UIWindow 的使用102
12.3.1 WindowLevel 104
12.3.2 手工創建UIWindow 105
12.3.3 不要濫用UIWindow 108
12.3.4 參考資料109
第13 章動態下載系統提供的多種中文字體. . . . . . . . . . . . . . . . . . . . . . . . . 111
13.1 功能簡介111
13.1.1 前言111
13.1.2 功能介紹112
13.1.3 字體列表112
13.2 使用教程113
13.2.1 相關API 介紹113
13.2.2 總結115
第14 章使用應用內支付. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
14.1 後台設置117
14.2 iOS 端開發119
14.3 服務端開發121
14.4 注意事項122
第15 章基於UIWebView 的混合編程. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
15.1 混合編程簡介123
15.2 使用模板引擎渲染HTML 界面124
15.3 Objective-C 語言和JavaScript 語言相互調用126
15.4 如何傳遞參數129
15.5 同步和非同步129
15.6 注意事項130
15.6.1 線程阻塞問題130
15.6.2 主線程的問題130
15.6.3 鍵盤控制130
15.6.4 CommonJS 規范130
15.7 使用Safari 進行調試131
第16 章安全性問題. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
16.1 前言135
16.2 網路安全135
16.2.1 安全地傳輸用戶密碼135
16.2.2 防止通訊協議被輕易破解137
16.2.3 驗證應用內支付的憑證138
16.3 本地文件和數據安全138
16.3.1 程序文件的安全138
16.3.2 本地數據安全140
16.4 源代碼安全140
16.5 總結142
第17 章基於CoreText 的排版引擎. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
17.1 CoreText 簡介143
17.2 基於CoreText 的基礎排版引擎145
第18 章實戰技巧. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
18.1 App Store 與審核181
18.1.1 撤銷正在審核的應用181
18.1.2 申請加急審核181
18.1.3 應用在市場的名字182
18.1.4 測試設備數的限制182
18.1.5 如何將應用下架183
18.1.6 如何舉報別的應用侵權183
18.1.7 iTunes Connect 後台操作出錯184
18.1.8 Metadata Reject 184
18.2 開發技巧184
18.2.1 UILabel 內容模糊184
18.2.2 收起鍵盤184
18.2.3 NSJSONSerialization 比NSKeyedArchiver 更好185
18.2.4 設置應用內的系統控制項語言185
18.2.5 為什麼viewDidUnload 被廢棄188
18.2.6 多人協作慎用Storyboard 189
18.2.7 避免濫用block 190
18.2.8 合並工程文件的沖突192
18.2.9 忽略編譯警告193
18.3 Xcode 使用技巧193
18.3.1 Xcode 快捷鍵193
18.3.2 查找技巧195
18.3.3 JavaScript 文件設置調整195
18.3.4 清除DerivedData 196
18.3.5 target 信息異常197
18.3.6 下載Xcode 197
18.4 調試技巧197
18.4.1 模擬器快捷鍵197
18.4.2 覆蓋安裝注意事項197
18.4.3 給模擬器相冊增加圖片198
18.4.4 獲得模擬器中的程序數據198
18.4.5 安裝舊版本的模擬器199
18.4.6 模擬慢速網路199
18.4.7 異常斷點與符號斷點199
18.5 ipa 文件格式199
18.5.1 查看ipa 的內容199
18.5.2 查看ipa 中的圖片200
18.6 為工程增加Daily Build 201
18.6.1 前言201
18.6.2 步驟201
18.6.3 遇到的問題206
18.6.4 總結206
18.7 使用腳本提高開發效率206
18.7.1 刪除未使用的圖片資源206
18.7.2 用腳本自動生成小尺寸的圖片207
18.7.3 檢查圖片208
18.8 管理代碼片段209
18.8.1 代碼片段介紹209
18.8.2 定義自己的代碼片段210
18.8.3 使用Git 管理代碼片段211
18.8.4 其他代碼片段管理工具211
III 第三部分:iOS 開發底層原理
第19 章Objective-C 對象模型. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
19.1 簡介215
19.2 isa 指針215
19.3 類的成員變數217
19.4 對象模型的應用220
19.4.1 動態創建對象220
19.4.2 系統相關API 及應用222
19.4.3 參考文獻226
第20 章Tagged Pointer 對象. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
20.1 原有系統的問題227
20.2 Tagged Pointer 介紹228
20.2.1 Tagged Pointer 228
20.2.2 特點230
20.3 注意事項和實現細節231
20.3.1 isa 指針231
20.3.2 64 位下的isa 指針優化231
20.3.3 isa 的bit 位含義232
20.3.4 總結233
20.3.5 參考文獻233
第21 章block 對象模型. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
21.1 block 的內部數據結構定義235
21.2 用clang 分析block 實現237
21.2.1 NSConcreteMallocBlock 類型的block 的實現242
21.2.2 變數的復制243
21.3 注意事項243
21.3.1 避免循環引用243
21.3.2 ARC 對block 類型的影響244
『捌』 在ios沙盒機制下,下面哪個文件夾
1、iOS沙盒機制
iOS應用程序只能在為該改程序創建的文件系統中讀取文件,不可以去其它地方訪問,此區域被成為沙盒,所以所有的非代碼文件都要保存在此,例如圖像,圖標,聲音,映像,屬性列表,文本文件等。
1.1、每個應用程序都有自己的存儲空間
1.2、應用程序不能翻過自己的圍牆去訪問別的存儲空間的內容
1.3、應用程序請求的數據都要通過許可權檢測,假如不符合條件的話,不會被放行。
通過這張圖只能從表層上理解sandbox是一種安全體系,應用程序的所有操作都要通過這個體系來執行,其中核心內容是:sandbox對應用程序執行各種操作的許可權限制。
2、打開模擬器沙盒目錄
下面看看模擬器的沙盒文件夾在mac電腦上的什麼位置。
文件都在個人用戶名文件夾下的一個隱藏文件夾里,中文叫資源庫,他的目錄其實是Library。
2.1 方法1、可以設置顯示隱藏文件,然後在Finder下直接打開。設置查看隱藏文件的方法如下:打開終端,輸入命名
顯示Mac隱藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -bool true
隱藏Mac隱藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -bool false
輸完單擊Enter鍵,退出終端,重新啟動Finder就可以了
重啟Finder:滑鼠單擊窗口左上角的蘋果標志-->強制退出-->Finder-->
現在能看到資源庫文件夾了。
打開資源庫後找到/Application Support/iPhone Simulator/文件夾。這裡面就是模擬器的各個程序的沙盒目錄了。
2.2 方法2、這種方法更方便,在Finder上點->前往->前往文件夾,輸入/Users/username/Library/Application Support/iPhone Simulator/ 前往。
username這里寫你的用戶名。
3、目錄結構
默認情況下,每個沙盒含有3個文件夾:Documents, Library 和 tmp。因為應用的沙盒機制,應用只能在幾個目錄下讀寫文件
Documents:蘋果建議將程序中建立的或在程序中瀏覽到的文件數據保存在該目錄下,iTunes備份和恢復的時候會包括此目錄
Library:存儲程序的默認設置或其它狀態信息;
Library/Caches:存放緩存文件,iTunes不會備份此目錄,此目錄下文件不會在應用退出刪除
tmp:提供一個即時創建臨時文件的地方。
iTunes在與iPhone同步時,備份所有的Documents和Library文件。
iPhone在重啟時,會丟棄所有的tmp文件。
我們創建一個IosSandbox的項目來展開沙盒和文件讀寫等操作的練習。
創建後找到模擬器上對應的目錄,
『玖』 ios簡歷項目經驗怎麼寫
2、你在項目組中的位置、是否能獨立解決問題;
3、你的業務知識與團隊合作能力等。
技術顯然是最重要的,但你需要非常用心的描述整個項目的技術框架,讓招聘人員知道你從對宏觀上架構很熟悉,然後突出你解決的技術問題。
下面我們參考一種項目描述:
本項目採用JSP+JavaBean+Struts開發,採用了MVC模式,表現層與業務層分離,易於維護、擴展
下面是我寫的一段項目描述(虛擬的):
本項目結構上分為表現層、業務層和數據訪問層,層次間的依賴關系自下到上。採用的技術有Struts,Spring,Hibernate,Log4J,JDom等。其中表現層採用Struts框架開發;業務層封裝業務流程,為適應業務的變更,每一業務模塊均有專門的介面及實現類,利用Spring的IoC功能將實現類注入給表現層的Action;數據訪問層藉助於Hibernate實現,代碼簡潔且可適應不同的資料庫。事務部分利用Spring的聲明式事務管理。為提高性能,採用ServletFilter實現了緩存代理
這段項目經驗描述簡單的勾劃出了系統的結構,也表現出你非常熟悉Struts,Spring,Hiberante這幾種技術。
同時可以注意到,其中一些重要環節描述的十分簡略,比如事務、緩存代理
,這其實是故意的。
面試的時候很多人都怕對方突然問一個自己沒有準備的問題,往往缺乏應變能力。一方面你需要多進行專門的練習,另一方面要知道面試時你並不總是被動的,等待對方發問。
如果你給對方的只是一份普普通通的簡歷,裡面只提到了大家都會提及的JSP,Struts,那你只好等待對方隨機的問題了。但是如果你的項目經驗和描述像剛才那麼寫,對方就很可能會問你到底是如何在Spring中應用事務、如何使用緩存代理(如果對方是技術人員的話),這時你已經變被動為主動啦當然,前提是你寫的這些技術要點一定是自己掌握的,事先已經想好如何表達的!這只是一點面試技巧裡面的內容。
總之寫好個人簡歷中項目經驗中項目描述也是求職方法的一種。