

# 如何找出符合你工作經驗的 Naukri 職位

用 Naukri 的經驗設定收窄搜尋。然後閱讀每份職位的實際年資範圍，以及其他規則。兩次閱讀都完成後，才把一份職位稱為可能符合。篩選結果並不保證僱主會接受你。

Actor 是一個託管程式，用來收集公開資料。[Naukri Jobs Scraper](https://apify.com/chronometrica/naukri-jobs-scraper) 就是這裡的 Actor。它讀取公開的 Naukri 頁面。它不使用 Naukri 登入。你透過 Apify 啟動它。API 是一個程式要求另一個程式工作的方式。這個 Actor 透過 Apify 的 API 使用。它不是官方 Naukri API。它不是印度的每一個職位。它不是私人公司資料庫。

Task 是一組已儲存的輸入。目前的 Task 是 [Naukri Jobs by Experience Level Dataset](https://apify.com/chronometrica/naukri-jobs-scraper/examples/naukri-jobs-by-experience-level-dataset)。Task 只會開始搜尋。Actor 儲存來源列。你在本文做覆核。Actor 不判斷你是否適合。它不遞交申請。

一列是一筆已儲存的職位紀錄。可能符合是指該列通過你在這裡可以做的檢查。這不代表你會得到面試。

剛開展工作的人會問，自己的年數如何配合一個職位。一個公開例子是這條[剛畢業的數據科學畢業生尋求建議](https://www.reddit.com/r/FresherTechJobsIndia/comments/1ncge8k/recent_data_science_graduate_seeking_advice/)。本文只回答經驗年資範圍這一步。學習新技能是另一項工作。

## 第 1 步．寫下你的年資規則

用一句寫下你的經驗問題。寫明你相關且已完成的年數。相關年數是指你會用來申請這個職位的那類工作年數。

說明你如何計算實習。說明你如何計算專案。說明你如何計算兼職。說明你如何計算涵蓋相同日期的工作。除非僱主說明要這樣做，否則不要把這些重疊工作加成一段更長的總年數。如果僱主寫明計算規則，就使用該規則。

這次覆核只涵蓋檢查職位是否適合的其中一步。它不是一份學習技能的完整計劃。

把你寫明的年數保留給該表。搜尋欄接受由 0 至 30 的整數。在後面的虛構例子裡，搜尋值是 1。表使用 1.0。如果你寫明的年數不是整數，不要為了強行符合而改表。

## 第 2 步．開始一次小搜尋

選一個職位類別。選你要的印度市場。選一個短時間範圍。

目前這個 Actor 接受這些輸入。`searchTerm` 每一行接受一個搜尋片語。第一次檢查只用一行。`location` 可選。`maxItems` 是這次整個搜尋中 Actor 最多可以儲存的列數。如果你略去 `maxItems`，該儲存上限便不存在。一定要設定儲存上限。`postedWithinDays` 是文字。允許的值是 "0"、"1"、"3"、"7"、"15" 和 "30"。值 "0" 表示不限刊登日數。`experienceYears` 是由 0 至 30 的整數。值 0 要求 Fresher 搜尋設定。這裡的 Fresher 是指來源給零年工作經驗人士使用的設定。`sortBy` 可以是 relevance 或 date。`searchDepth` 可以是 standard、extended 或 deep。Standard 是指較窄的第一次檢查。這個方法使用 standard。它不需要更廣的深度。Actor 亦接受 `excludeCompanies`。這次覆核不用該欄位判斷年資。

已儲存的 Task 搜尋 software engineer。它使用 `experienceYears` 5、`postedWithinDays` "7"、`sortBy` date 和 `searchDepth` standard。它不設定城市。它不設定 `maxItems`。把職位換成你的職位。只有你想要該市場時，才加上你的城市。把 5 換成你的整數。把 `maxItems` 設為 2。

第一次檢查使用類似這樣的輸入。職位、城市和年數是佔位值。填入你自己的值。如果你不要城市限制，就移除 `location`。Fresher 設定使用 0。

```json
{
  "searchTerm": "your role",
  "location": "your city",
  "maxItems": 2,
  "postedWithinDays": "7",
  "experienceYears": 1,
  "sortBy": "date",
  "searchDepth": "standard"
}
```

第 2 步．開始一次小搜尋

`postedWithinDays` 兩邊要保留引號。Actor 預期的是文字，不是一個不帶引號的數字。

一次已做驗收檢查的例子搜尋使用了不同的輸入。它使用一個片語 software engineer。它沒有城市。它使用 `postedWithinDays` "0"、`maxItems` 2、`sortBy` relevance 和 `searchDepth` standard。它沒有設定 `experienceYears`。它儲存了兩個不同的 Naukri 職位 ID。職稱、公司名稱和地點都存在。每一列都有直接的 Naukri `jobUrl`。每個 `sourceUrl` 都符合所要求的查詢。來源是 naukri.com。每一列都有 `observedAt`。兩列都有 `descriptionText`。它們的 `experienceRaw` 文字亦有數字範圍 0-5 和 0-2。搜尋成功。它儲存了兩列。它要求一頁。它見到 20 個職位刊登。它沒有失敗的請求。它沒有被封鎖的請求。它以 `max_items_reached` 停止。這表示已達到儲存上限。那兩列不是每一個符合的職位。這個例子沒有傳送 `experienceYears`。它沒有顯示年資篩選改變了那些列。它沒有證明 Fresher 符合。

## 第 3 步．讀搜尋結果

覆核年資之前，先讀結果說明。保留你送出的篩選。保留儲存上限。保留搜尋停止的原因。

空白結果表示這次搜尋沒有儲存任何列。它不能證明沒有職位。被封鎖的結果表示請求失敗或被封鎖。不要把該缺口當成一個實際顯示出來的清楚零值。已達上限的結果表示已達到儲存上限。該次驗收檢查的例子已達上限。只讀已儲存的列。不要把它們稱為完整的職位流。

年資篩選可以限制來源回傳的內容。它不能取代對每條規則的閱讀。Fresher 搜尋仍可以顯示寬的範圍。你仍然要讀職位文字。

這些欄位可以有幫助。有些可以不存在。

`schemaVersion` 標示已儲存紀錄的結構。它不是年資結果。`jobId` 是來源職位 ID。`title`、`companyName` 和 `location` 標示該職位。`experienceRaw` 是來源的經驗文字。`experienceMinYears` 和 `experienceMaxYears` 是解析後的數字。解析是指程式把文字轉成數字。`skills` 在來源有顯示技能時列出技能。不要把技能轉成分數。`descriptionText` 是 Actor 儲存的描述文字。它存在並不證明你已有每一條規則。它未必是僱主的全文。`postedAt` 和 `postedAtRaw` 是來源顯示的日期文字。`observedAt` 是 Actor 記錄該列的時間。這些時間不保證職位仍然開放。`jobUrl` 是直接職位頁。`sourceUrl` 是你該查詢的搜尋頁。`searchTerm` 和 `searchLocation` 顯示你所要求的內容。確認它們符合你的職位和市場。`pageNumber` 和 `rankOnPage` 顯示在該次搜尋中的位置。它們不是你獲聘的機會。`status` 和 `statusReason` 描述已儲存的列。跳過不是正常公開職位刊登的列。`source` 應指回你打算閱讀的公開頁面。

日期和經驗是來源所顯示的內容。它們不是聘用承諾。

## 第 4 步．把原始文字放在數字旁邊

把 `experienceRaw` 放在兩個解析數字旁邊。讀已儲存的描述。然後讀公開職位頁。

分開五種情況。封閉範圍有低端和高端，例如 0-2 年。只有下限的片語只設定最低值，例如 "1+"。只有上限的片語只設定最高值。缺失值表示沒有經驗證據。衝突表示原始文字和解析數字不一致。

不要用零填補缺失的一端。不要假設解析數字捕捉了每一條僱主規則。

## 第 5 步．測試一條範圍規則

只有原始文字和解析數字一致時，才使用數字測試。

對於封閉範圍，測試 min <= 你的年數 <= max。低端算作範圍內。高端算作範圍內。如果測試通過，標籤是 `numeric_range_match`。該標籤只表示你的年數位於封閉範圍內。它不表示僱主接受你。

對於只有下限的片語，只測試你的年數 >= min。只有原始文字顯示該規則時，才這樣做。null 的最高值表示沒有解析到上限數字。Null 不是零。

對於只有上限的片語，只測試你的年數 <= max。只有原始文字顯示該規則時，才這樣做。不要編造最低值零。

如果字句不清楚，標籤是 `needs_review`。如果原始文字和解析數字衝突，標籤是 `needs_review`。如果數字是負數，不要使用該範圍。如果 min 大於 max，範圍是顛倒的。不要把顛倒的範圍當作符合資料。一對顛倒的值，例如 min 5 和 max 2，不是你可以通過的測試。

## 第 6 步．加上其他已寫明的條件

然後讀職位上的其他經驗條件。一項條件可能要求某一類工作的年數。它可能要求一張證書。它可能為一個職位設定最低年資。

把兩個標籤分開。`numeric_range_match` 只表示數字測試。`employer_requirements_checked` 表示你已讀額外條件。

給每個額外片語一個類別。Required 表示僱主寫明它是必須。Preferred 表示僱主寫明它是希望。Unclear 表示文字沒有說明是哪一種。不要把每個片語都當作必須。

你的年資可以落在 0-5 的範圍內，仍然未能符合一項必須的職務要求。你仍然可以缺少一張必須證書。一個列為希望的範圍未必是硬性停止條件。在筆記寫下類別。數字符合不是僱主接受。

## 第 7 步．用六個虛構職位建立一張表

為你的真實列建立一張表。使用真實職位 ID 和 `jobUrl`。保留原始文字、解析數字、你的年數、範圍狀態、其他證據、覆核狀態和下一步行動。把未解決的列留在表內。不要按猜測的機會排列各列。這張表不應有私人分數。

下面六個職位是原創虛構。它們是教學用列。它們不是 Actor 輸出。它們不是真實 Naukri 職位。它們沒有實際在線的網址。不要把結果當作一次產品運行。

這個虛構裡的學習者有 1.0 年相關工作經驗。該數字跟隨他們已經寫下的計算規則。搜尋欄會使用整數 1。下面的測試使用 1.0。

J1 顯示原始文字 "0-2 years"、min 0 和 max 2。原始文字和數字一致。測試是 0 <= 1.0 <= 2。這是真，因為 1.0 在兩端之間。範圍狀態是 `numeric_range_match`。這個虛構沒有給 J1 額外的不合格條件。J1 可以維持為可能符合。對於真實列，你仍然要讀實際在線的職位頁，因為已儲存文字可以不完整。

J2 顯示原始文字 "2-4 years"、min 2 和 max 4。文字和數字一致。測試是 2 <= 1.0 <= 4。這是假，因為 1.0 低於 2。範圍狀態是 `below_range`。J2 不是可能符合。剛好 2.0 會落在低端，並且會通過。這個學習者沒有 2.0。

J3 顯示原始文字 "0-5 years"、min 0 和 max 5。文字和數字一致。測試是 0 <= 1.0 <= 5。這是真。範圍狀態是 `numeric_range_match`。描述亦要求兩年相關領域年資。相關領域年資是指該指名工作種類的年數。這個虛構把該規則寫為必須，不是希望。學習者有 1.0，低於 2。必須條件未符合。J3 不是可能符合。數字符合仍然為真，而額外規則仍然不合格。

J4 顯示原始文字 "1+ years"、min 1 和 max null。加號片語顯示下限。它不顯示封閉範圍。測試是 1.0 >= 1。這是真。範圍狀態是下限符合。null 的最高值不是零。如果你寫下 max 0，比較式 1 <= 1.0 <= 0 的結果是假，會把一個有效的下限符合剔除。不要這樣做。

J5 沒有經驗文字。它沒有最低值。它沒有最高值。狀態是未知。未知不是零。如果你寫下 0 和 0，你會編造一個測試。Fresher 可能意外看起來像剛好符合。有 1.0 年的人可能意外看起來低於範圍。沒有證據，所以沒有測試。J5 維持未解決。

J6 顯示原始文字 "3-5 years"，但解析數字是 min 0 和 max 5。這些值不一致。如果你信任解析後的 0-5，則 1.0 會看起來像數字符合。如果你信任原始的 3-5，則 1.0 會低於範圍。兩個測試不一致。狀態是 `needs_review`。J6 不能算作符合。不要選擇較好看的範圍。

| 職位 | 原始範圍 | 解析最低 | 解析最高 | 申請人年數 | 範圍狀態 | 其他條件 | 覆核狀態 | 下一步行動 |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| J1 | 0-2 years | 0 | 2 | 1.0 | numeric_range_match | 此虛構中沒有 | 可能符合 | 申請前先閱讀實際在線的職位頁 |
| J2 | 2-4 years | 2 | 4 | 1.0 | below_range | 此虛構中沒有 | 不符合 | 不要憑這些數字加入 |
| J3 | 0-5 years | 0 | 5 | 1.0 | numeric_range_match | 必須：2 年相關領域年資 | 條件未符合 | 保留數字筆記，但不要稱它為符合 |
| J4 | 1+ years | 1 | null | 1.0 | 下限符合 | 此虛構中沒有 | 可能符合 | 申請前先閱讀實際在線的職位頁 |
| J5 | 不存在 | 不存在 | 不存在 | 1.0 | 未知 | 沒有證據 | 未解決 | 人手閱讀來源頁面 |
| J6 | 3-5 years | 0 | 5 | 1.0 | 衝突 | 原始文字與解析數字不一致 | needs_review | 不要選擇任何一個範圍 |

已覆核六個職位。J1 和 J3 是原始文字與數字一致的封閉範圍，而 1.0 在兩者之內。那是兩個封閉範圍的數字符合。J4 是一個已確認的下限符合。J2 低於其範圍。J5 和 J6 未解決。J5 未解決，是因為所有經驗證據都缺失。J6 未解決，是因為原始文字和解析數字不一致。

加上額外的必須條件之後，J3 被剔除。J1 和 J4 仍然是可能符合。在這個虛構裡，是六個之中的兩個。六個之中的兩個是這次編造覆核的結果。它不是職位會接受你的比率。它不是你應該預期的 Naukri 職位所佔比例。

同一個虛構在零年需要新的測試。不要重用一年的決定。在零年，J1 仍然符合，因為 0 <= 0 <= 2。J2 仍然低於 2。J3 的封閉數字仍然符合，因為 0 <= 0 <= 5。J3 仍然未能符合必須的兩年領域年資。J4 不符合，因為 0 不是 >= 1。J5 仍然未知。J6 仍然是衝突。在同一個虛構裡，零年只有 J1 仍然是可能符合。J4 在 1.0 年是可能符合。它在零年不是可能符合。

## 第 8 步．申請前先讀一個職位

人手覆核可能符合的項目。在職位頁閱讀僱主目前的申請指示。[一次把你的證明與一個職位比較](/zh-Hant/articles/%E6%8C%89%E6%8A%80%E8%83%BD%E6%8E%92%E5%BA%8F%E8%81%B7%E4%BD%8D%E5%88%97%E8%A1%A8/)。把跨職位的學習工作另作一項任務。

本文以一份範圍覆核清單結束。它不估計薪酬。它不為技能評分。它不承諾面試。

## 下一步行動

開啟 [Naukri Jobs Scraper](https://apify.com/chronometrica/naukri-jobs-scraper)，並從 [Naukri Jobs by Experience Level Dataset](https://apify.com/chronometrica/naukri-jobs-scraper/examples/naukri-jobs-by-experience-level-dataset) Task 開始。更改職位、市場和年數。把 maxItems 設為 2。開啟一個回傳的職位。讀它的原始經驗文字和僱主條件。只有在該次閱讀之後，才把該職位加入你的可能符合清單。

## 來源與延伸閱讀

- [Naukri Jobs Scraper](https://apify.com/chronometrica/naukri-jobs-scraper)
- [Naukri Jobs by Experience Level Dataset](https://apify.com/chronometrica/naukri-jobs-scraper/examples/naukri-jobs-by-experience-level-dataset)
- [剛畢業的數據科學畢業生尋求建議](https://www.reddit.com/r/FresherTechJobsIndia/comments/1ncge8k/recent_data_science_graduate_seeking_advice/)