windate3411
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
      • Invitee
    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Engagement control
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Versions and GitHub Sync Engagement control Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
Invitee
Publish Note

Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

Your note will be visible on your profile and discoverable by anyone.
Your note is now live.
This note is visible on your profile and discoverable online.
Everyone on the web can find and read all notes of this public team.
See published notes
Unpublish note
Please check the box to agree to the Community Guidelines.
View profile
Engagement control
Commenting
Permission
Disabled Forbidden Owners Signed-in users Everyone
Enable
Permission
  • Forbidden
  • Owners
  • Signed-in users
  • Everyone
Suggest edit
Permission
Disabled Forbidden Owners Signed-in users Everyone
Enable
Permission
  • Forbidden
  • Owners
  • Signed-in users
Emoji Reply
Enable
Import from Dropbox Google Drive Gist Clipboard
   owned this note    owned this note      
Published Linked with GitHub
1
Subscribed
  • Any changes
    Be notified of any changes
  • Mention me
    Be notified of mention me
  • Unsubscribe
Subscribe
# JS模擬面試讀書會(2021/7月版) ###### tags: `Alpha Camp` ## 活動說明 一個針對JS題目的模擬面試讀書會,採一對多的方式,題目來源為實際我遇到過的所有面試題目,**目的是為了讓參與者了解面試大致會遇到什麼類型的題目與增加對JS的理解程度**。這次的活動有著以下的特點與限制。 + 每周預計舉辦一次 + 時間約40分~60分 + 不包含主講者,參加人數上限為8人 + 主要開放給已結業&學期三的學生且不開放旁聽,但會全程錄影並在每周日上傳 + 活動過程需全程開啟鏡頭 + **禁止一切違反模擬面試精神的行為** (例如回答問題時去查資料、console結果等,真的明顯到會被我看出來的話,抱歉我會直接永ban你) + 活動結束後請協助填寫問卷 + 我理解不是每個人都跟我一樣閒,所以你並不需要全勤(但你需要留個slack訊息給我,這樣我才知道不需要等你,無故消失也不會怎樣,只是我會寫在記仇小本本上) ## 活動流程 1. 主持人展示問題並給參與者15~60秒時間思考 2. 思考時間結束後隨機抽點參與者回答 3. 針對回答內容主持人進行追問、補充或是點選其他參與者 4. 主持人總結該題目,些許筆記時間 5. 重複1-4流程直到跑完該周問題(每周6~8題) 6. 5~10分鐘Q&A時間 ## 參加名單 https://docs.google.com/spreadsheets/d/1IE4Y9fjZOn36JGyw9UQI5pIaLb6tsm8ABSYUME7ZbOA/edit#gid=0 ## 活動問卷 https://www.surveycake.com/s/nYwBO ## 參加名單與場次(2021/07/21 updated) * 週五場:https://meet.google.com/nbg-waik-szb * 週六場:https://meet.google.com/ozp-qihi-zxc * 週日場:https://meet.google.com/zgg-utvc-zfa **每周會跑三場完全相同的內容**,所以除非你當天臨時有事,否則請不要亂入其他的場次,跑的題目是一模一樣的😂 **活動開始時間為台灣時間(GMT+8)晚上7:30**,錄影的部分我會每周隨機抽一個場次錄製,錄製前我會提醒大家此次有錄影,而當周投影片與錄影都會在周日場結束後才上傳。 | 週五場 | 週六場 | 週日場 | | -------- | -------- | -------- | | Hugh |Chris Chen | Raven 翊廷 |RexT |Marco Tina | Aster | Carlos Ivy Hung | 安萍|Ashley huang Charlie (Tzu Yin)| 丁米| Charlie with a cat 莊仲崴 |Elliot | Sherry ARMO |Rachel | CHANG PAUL |DoubleA|Debbie Chang| ## 活動錄影與摘要(影片與重點摘要將在隔周上傳) > **第一周活動** #### 影片 [20210725 週日場](https://vimeo.com/manage/videos/579065682/901dc06365) #### 重點摘要 scope、浮點數陷阱、hoist、強制轉型、null vs undefined、IIFE > **第二周活動** #### 影片 [20210731 週六場](https://vimeo.com/581956292/8f4b9765d6) #### 重點摘要 closure、變數型別、by value & by reference、深淺拷貝、this 檢查型別的最後手段 ``` Object.prototype.toString.call() ``` > **第三周活動** #### 影片 [20210806 週五場](https://vimeo.com/manage/videos/584810352/be15b25e58) #### 重點摘要 箭頭函數、運算子、event loop、promise、micro task vs macro task [event loop推薦影片1](https://www.youtube.com/watch?v=cCOL7MC4Pl0) [event loop推薦影片2](https://www.youtube.com/watch?v=8aGhZQkoFbQ&ab_channel=JSConf) > **第四周活動** #### 影片 [20210816 週日場](https://vimeo.com/manage/videos/587766619/e658e4e8e3) #### 重點摘要 面試提問技巧、基本Big O ## 各周活動回饋 ### 第一周心得回饋 第一周的模擬面試活動順利地結束了,在此特別感謝小精靈的協助與各位同學的熱情參與,回收的問卷也超過我的預期達到驚人的9成5(我估計是第一周7成,第四周剩3成😂),每一份我都有仔細地看過,非常謝謝許多同學用心地回覆! google meet的問題的確讓我很傷腦筋,分享畫面上看不到同學的臉、沒有舉手功能等對我來說也很痛苦,暫時先請各位忍耐一下,我會再想想看是否有什麼替代方案。 過程中我除了提問之外也有做一些紀錄,觀察了每位同學在回答時的情況。有許多人表現非常地出色,一度讓我以為我題目選太簡單了,甚至有人可以在第一次提問時就完美回答問題,確實相當不容易! 但與此同時我也有發現一些問題,以下是第一周觀察到的情況以及一些我個人的建議。 + 試著去展現你的自信 即便有先給同學一些思考的時間,很多人在突然被我點到時還是會抖一下,接著在回答時聽得出來比較緊張、講話邏輯變得比較發散以及視線會開始飄移。而實際上面試時你的思考時間通常並不會這麼充裕,你需要更快的去整理你的思緒,這仰賴著你對該主題的熟悉程度以及是否有實際練習表達過。當你發現你還需要一些時間時,建議可以主動向面試官提出需要再思考一下的需求,或是利用一些言詞去增加你思考的時間(像是複述一次問題、詢問一些極端條件等),先想清楚你要講什麼,接著慢慢、穩穩地展現,即便是透過視訊鏡頭也建議盡量不要迴避對方的視線,會讓你更有說服力一些。 + 不要太早放棄 有些人在面對問題時會呈現完全空白的狀態,是那種可以從眼神就看出這人很茫然那種。 當然,如果你真的完全不清楚該主題、甚至連聽都沒聽過,老實坦承我認為是很好的手段,承認自己的不足並在之後補上就行了,遇到好心的面試官對方甚至會跟你大致介紹一下(較少見)。但如果你對於該主題其實有一點了解,只是不夠全面,試著去表達你所知道的部分,比方說現在問你var vs let vs const,即便你並不瞭解functional scope & block scope具體差別在哪,你還是可以說明他們作用範圍不完全相同,或是可不可以重新賦值之類的概念,不要一開口就說阿..我不清楚、我不知道、好像是....等,這樣面試官也很難接下去,氣氛冷掉之後要重啟有點難度。 + 有空時可以多練習口語表達 相信經過一次的讀書會練習,你們許多人應該已經發現**理解概念不等於你能清楚表達**,這個部分無疑是需要練習的,良好的表達能力我認為是工程師一個很重要的核心能力,清楚地闡述自己的觀點也能幫助未來工作上與不同領域的人溝通。面試時對方多半會針對你擺在履歷上的東西提問,這時候對一些基本的提問你就要能做到對答如流的程度(比方說你專案碰到的困難以及如何克服、專案中使用的技術及其概念、為什麼想轉職等),這些除了多多練習外沒人幫得了你😁 ### 第二周心得回饋 本周題目的難度往上拉了一點,是更底層的JS概念,有些概念你們可能甚至目前還沒有接觸過,這樣的問題答不出來是很正常的! 這些都是等你遇到時才會去研究的東西,不需要感到太過沮喪。 不過令人驚喜的是,有些同學針對那些問題仍對答如流,整體的表現甚至比上周還好。許多人聽起來更有自信,很清楚自己目前懂的東西有哪些,面對未知的主題也很老實的坦承🤣 我認為在表達上大家都有明顯的進步,well done! 中間我也收到不少的私訊,很高興看到有些人已經開始求職活動,過程中如果你們有什麼問題可以找我討論(但請不要把前測的題目拿給我寫,我人沒這麼好),其他有什麼我能幫忙的地方我自然是不會吝嗇的! 最後針對幾個本周的情況做個回覆 > 要如何加強這些JS的底層知識? 這是我在幾份問卷中收到的提問,我自己的方法是...碰到不懂的就死命查,一次看不懂就多看幾次,非常的土法煉鋼。這種時候我參考的資源多半來自網路或書籍,資訊會比較零散,你需要再自己整理,如果硬要我推薦的話,首推還是udemy的一堂課程: Understanding Javascript The Wierd Parts 一天到晚都在特價,這門課程幫了我很多,讓我知道我有哪些不足的地方,坦白說我認為這360花的太值得了,英文還行的同學建議聽原文的。 另外網路上有一本免費的資源,Eloquent Javascript(https://eloquentjavascript.net/) ,是我第一份工作的mentor推薦給我的書,我當時看了也覺得挺不錯的! > 要怎麼知道自己準備好了沒有? 準備面試的比重要怎麼分配 這個就還是老話一句,你不去試試看就永遠不會知道,準備是毫無止境的,不過大致上你需要做到 + 對JS/HTML/CSS有基本的理解 + 有基本的作品集展示 + 了解你在作品集中使用的技術 + 針對基本提問要對答如流(為什麼要轉職等) 行有餘力的話可以去leetcode刷幾個基本題,作為白板題的練習。我自己是覺得你可以先去幾家第二、三志願的公司做練習,一方面累積經驗、另一方面透過面試你可以更了解自己有哪些不足的地方,同時與人的交流可以幫助你釐清你到底想要什麼,這是我當時面試下來的心得。 ### 第三周心得回饋 第三周的模擬面試也順利結束了! 依然很感謝各位的熱情參與和回饋~! 下周就是最後一周的活動啦,再撐一下下就結束了,加油唄! 以下資訊也同步更新到之前的共同編輯文件中 本周錄影 => 活動影片連結 第三周活動摘要 => 箭頭函數、運算子、event loop、promise、micro task vs macro task 本周繼續鑽了一些比較進階的概念,問題確實比較刁鑽一點,不過希望藉由較為連貫的設計有讓同學更理解非同步處理的概念,一時間無法消化的話也可以透過我提供的關鍵字或共同編輯文件中的連結去做進一步的複習! 這周很讓人高興的是有幾位同學開始嶄露頭角,表達遠比之前來得清晰,也開始知道問題想考的關鍵詞是什麼進而直接點出,我是不知道你們做了什麼訓練,總之well done! 另一方面也開始有不少同學展開了求職活動並與我分享或討論,相信你們這樣積極的行為能很快地得到回報的,先預祝你們找到理想的工作~! 有什麼我可以幫忙的老樣子不需要客氣! 最後根據一些人的提問,關於求職這一段我想談幾個我自己的經驗 > 你並不是所有的前測都需要做 有不少公司在進入實際面試前會先丟一份作業給受測者,可能是一份線上code技術問題或是一份指定規格的作品,這時候你可以衡量一下這份前測大概需要花多少時間以及這個職缺是否真的值得你付出這樣的心力。因為坦白說並不是所有的公司都尊重面試者的時間,你費心做了作品並不見得一定會收到回覆,所以如果是那種明顯亂槍打鳥的邀約我會建議你直接忽略,當然你想當作練習的話我也不阻止你就是了:rolling_on_the_floor_laughing: > 不要太在意每一次面試的結果 有些人會在收到拒絕或無聲卡後感到沮喪或是不安,你當然可以有這樣的情緒,我認為這很正常! 不過很多時候這樣的結果並不是你能力不足所造成的,可能對方想找的就是一個只會泡茶的工程師,而剛好你會的不只泡茶而已! 面試這種事情有太多的變數,而許多因素都不在你自己的掌握中(團隊其實沒缺人、面試題目不合理或流程亂七八糟等)。既然問題不見得出在你身上,每一次的得失心不用放太重,你要做的只是了解自己不足的地方並加以補強,將這樣的經驗活用在下次面試即可。塞翁失馬的故事你也很熟,誰說你錯過這個offer一定是件壞事的,對吧? ### 第四周心得回饋 四周的活動在昨天順利的結束了,感謝各位這段時間風雨無阻的參與,過程中不但出席率遠高於預期,同時每周都給了我很多的反饋,雖然差點累死但我確實做得很開心! 隨著越來越多的私訊告訴我你們已經展開了一些求職的活動、或是向我諮詢一些我個人的意見,都可以看出許多人已經開始勇敢踏出自己的舒適圈並準備迎接一些新的挑戰了,對此我先預祝各位同學都能順利找到理想的工作,你們是很優秀的一批同學,要對自己多一點信心! 有需要我幫忙的地方不用客氣,我有什麼資源都會直接分享,沒什麼在藏招的:grin: 有參與的同學麻煩幫我填寫最後一份的獨立問卷,這幾份問卷會做為未來此活動的一些參考,包含題目的選擇、活動進行的方式以及這活動要不要繼續:joy: 我個人最大的恐懼就是...這活動其實對於你們的求職並沒有幫助,所以你們的意見對我來說很重要,我常常在擔心我只是強迫一群人陪我玩遊戲而已,畢竟有時候出發點是好的不代表結果也會是正向的~! 最後,針對最後一周的活動收到的問題做一些簡單的回覆 > 前端工程師的面試也會遇到白板題嗎? 工作也會需要用到演算法或linked-list之類的資料結構嗎? > 很遺憾的,若你的目標是較為有規模的公司,白板題基本是你逃不掉的東西,也因此你會需要對於Big O有最最最基本的了解,同時需要刷一下leetcode去培養一些解題的技巧。雖然在工作中幾乎不會用到這樣的玩意,但有部分的工程師面試生態確實不是這麼健康,面試造火箭、工作擰螺絲已經是個很遺憾的常態,但白板題確實是有效加速篩選流程的方法,不過就像我在第四周活動中提到的,很多時候你的程式瑪不需要會動,你只要能證明你能一步步的拆解邏輯並解決問題就好! 為此你需要一些提問的技巧,比方說像確實釐清問題、確認極端條件與輸出結果等,這樣的過程不但能協助你整理思緒,同時也能讓你有足夠的時間思考。 不要因為題目太難就直接放棄,通常你可以從面試官那邊得到一些引導或是協助的! > 我履歷上到底該擺什麼作品? 這點當然因人而異,但我自己的建議是,不要直接將課程中的作品擺在履歷上,要經過一定的客製化,把課程中的範本當作自己的作品放上去我認為是非常差勁的行為,同時這樣也會讓你的履歷與其他AC出來的同學有著太高的相似度。 我自己在求職時是採取前後端都可的心態,所以履歷上的作品會有1個協作專案、一個全端專案以及一個前端專案,全端專案是指前後端都是你自己打造的專案,這樣基本上就可應付Jr前、後端的職缺了,時機許可的話我很推薦你們利用課程所學到的東西自己再打造一個作品求職用!

Import from clipboard

Paste your markdown or webpage here...

Advanced permission required

Your current role can only read. Ask the system administrator to acquire write and comment permission.

This team is disabled

Sorry, this team is disabled. You can't edit this note.

This note is locked

Sorry, only owner can edit this note.

Reach the limit

Sorry, you've reached the max length this note can be.
Please reduce the content or divide it to more notes, thank you!

Import from Gist

Import from Snippet

or

Export to Snippet

Are you sure?

Do you really want to delete this note?
All users will lose their connection.

Create a note from template

Create a note from template

Oops...
This template has been removed or transferred.
Upgrade
All
  • All
  • Team
No template.

Create a template

Upgrade

Delete template

Do you really want to delete this template?
Turn this template into a regular note and keep its content, versions, and comments.

This page need refresh

You have an incompatible client version.
Refresh to update.
New version available!
See releases notes here
Refresh to enjoy new features.
Your user state has changed.
Refresh to load new user state.

Sign in

Forgot password

or

By clicking below, you agree to our terms of service.

Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
Wallet ( )
Connect another wallet

New to HackMD? Sign up

Help

  • English
  • 中文
  • Français
  • Deutsch
  • 日本語
  • Español
  • Català
  • Ελληνικά
  • Português
  • italiano
  • Türkçe
  • Русский
  • Nederlands
  • hrvatski jezik
  • język polski
  • Українська
  • हिन्दी
  • svenska
  • Esperanto
  • dansk

Documents

Help & Tutorial

How to use Book mode

Slide Example

API Docs

Edit in VSCode

Install browser extension

Contacts

Feedback

Discord

Send us email

Resources

Releases

Pricing

Blog

Policy

Terms

Privacy

Cheatsheet

Syntax Example Reference
# Header Header 基本排版
- Unordered List
  • Unordered List
1. Ordered List
  1. Ordered List
- [ ] Todo List
  • Todo List
> Blockquote
Blockquote
**Bold font** Bold font
*Italics font* Italics font
~~Strikethrough~~ Strikethrough
19^th^ 19th
H~2~O H2O
++Inserted text++ Inserted text
==Marked text== Marked text
[link text](https:// "title") Link
![image alt](https:// "title") Image
`Code` Code 在筆記中貼入程式碼
```javascript
var i = 0;
```
var i = 0;
:smile: :smile: Emoji list
{%youtube youtube_id %} Externals
$L^aT_eX$ LaTeX
:::info
This is a alert area.
:::

This is a alert area.

Versions and GitHub Sync
Get Full History Access

  • Edit version name
  • Delete

revision author avatar     named on  

More Less

Note content is identical to the latest version.
Compare
    Choose a version
    No search result
    Version not found
Sign in to link this note to GitHub
Learn more
This note is not linked with GitHub
 

Feedback

Submission failed, please try again

Thanks for your support.

On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

Please give us some advice and help us improve HackMD.

 

Thanks for your feedback

Remove version name

Do you want to remove this version name and description?

Transfer ownership

Transfer to
    Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

      Link with GitHub

      Please authorize HackMD on GitHub
      • Please sign in to GitHub and install the HackMD app on your GitHub repo.
      • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
      Learn more  Sign in to GitHub

      Push the note to GitHub Push to GitHub Pull a file from GitHub

        Authorize again
       

      Choose which file to push to

      Select repo
      Refresh Authorize more repos
      Select branch
      Select file
      Select branch
      Choose version(s) to push
      • Save a new version and push
      • Choose from existing versions
      Include title and tags
      Available push count

      Pull from GitHub

       
      File from GitHub
      File from HackMD

      GitHub Link Settings

      File linked

      Linked by
      File path
      Last synced branch
      Available push count

      Danger Zone

      Unlink
      You will no longer receive notification when GitHub file changes after unlink.

      Syncing

      Push failed

      Push successfully