殊不知在英國面試時就常常遇到 coding interview,雖然有時候會是 online test, assignment,
跑到英國找工作的軟體工程師,曾在德國交換,是旅人鄉民島民推特er。分享從撰寫履歷、查詢資料、準備面試到實際面試、國外工作生活的詳細經驗和心路歷程;每天必上 C_Chat 和 Plurk 吸收漫畫動畫能量;同時兼職插畫家、偶而拍拍外拍;心血來潮時翻譯個工程師 meme。
2022/05/09
Coding Interview 就是刷好刷滿刷爆 LeetCode 就會上?
殊不知在英國面試時就常常遇到 coding interview,雖然有時候會是 online test, assignment,
簡單輕鬆十分鐘學會 Stack & Queue (堆疊 & 佇列) 刷 LeetCode
一、Stack & Queue
1.1 基本觀念介紹
這裡講的 stack 和 queue,就是和 event loop 裡會用到的 call stack 和 callback queue 的基礎資料結構。2022/04/14
簡單輕鬆十分鐘學會 Recursion (遞迴) 刷 LeetCode
一、Recursion
1.1 基本觀念介紹
遞迴就是在函式之中呼叫函式自己本身,本質上是將複雜的問題,拆分成具有相同性質的子問題,進而解決問題的方法。
一個基本的遞迴函式一定要有:
終止條件 (基本條件)
遞迴條件 (呼叫自己的條件)
如果沒有終止條件,就會無限循環直到當掉。
範例 1 : 假設輸入一個正整數 n,求 1 + 2 + … + n 的總和
我們可以很直覺的使用迭代 (迴圈) 的方式,將所有數字累加在一起。
但因為這個問題能拆成有規律的數個小問題,
如輸入正整數 2 → 1 + 2 = 3
輸入正整數 3 → 1 + 2 + 3 = 6
…
所以這時候就可以使用遞迴來計算。
Time complexity 是 O(n),Space complexity 是 O(1)。
簡單輕鬆十分鐘 Linked List (鍊表) 刷 LeetCode
一、Linked List
1.1 基本觀念介紹
Linked list 是一種常見的資料結構,會包含 head 和 tail 的資訊,以 null 來代表 Linked list 的終點,使用 node 來記錄、表示、儲存資料。
1.1.1 Singly linked list
單向鏈結串列 (單鏈結串列、線性鏈結串列、普通鏈結串列) 是最基本的鏈結串列,其特點是鏈結串列的鏈結方向是單向的,對鏈結串列的存取要通過從頭部開始,依序往下讀取。
每個 node 則會包含 value 和 next (Pointer,指向下一個 node 的位置) 的資訊。
2022/03/22
簡單輕鬆十分鐘學會 Hash Map (雜湊表) 刷 LeetCode
一、Hash Map
1.1 基本觀念介紹
- Hash map 是儲存 (key, value) 這種 mapping 關係的一種資料結構 (當數據儲存在記憶體中時,決定數據的順序和位置的稱之為資料結構)
- 各語言 / library 基本上有其 hash function,如有需要也可以自行建置
- 語言不同名稱也會不同,但基本上 Hash map == Hash table == Hash object == Hash dictionary
(https://vhanda.in/blog/2012/07/shared-memory-hash-table/)
舉例來說,如果我們有 n 個數字要儲存時,通常會用 array 來存。 存好後如果我們拿到另一個數字 37,要判斷這個數字有沒有在 array 裡面,那我們就得跟 array 裡的元素一個個比較,這時 time complexcity 就會是 O(n);下次再換查另一個數字時, time complexcity 又就會是 O(n)。 但如果已經先建立好 hash table,之後如果要查數字 37 時,建立 hash map 時雖然 time complexcity 會是 O(n),但查詢的 time complexcity 就只會是 O(1)。 不過 O(1) 還是理論值,insert、search、lookup、delete 都有可能造成 time complexcity 是 O(n) (請看 example 3) 。
簡單輕鬆十分鐘看懂 Time complexity & Space complexity 分析刷 LeetCode
一、前導知識
1.1 演算法評估標準
- Time complexity (時間複雜度)
- Space complexity (空間複雜度)
1.2 Time complexity
Time complexity 是電腦執行演算法所需要耗費的時間成本,通常會用 O (Big O notation) 去計算。
Big O notation 是解決一個規模為 n 的問題所花費的時間,或者所需步驟之數目;而演算法多快通常不是以秒而是步驟次數來衡量,因為每個人電腦效能會影響執行速度,若用秒數來衡量會顯得不夠客觀。
2021/12/21
在英國當面試官面試其他 Junior 工程師之經驗
1. 關於面試者
1.1 太緊張到沒辦法好好打招呼或是回答問題
急著馬上給答案,可能會沒有思考清楚、也會容易讓人質疑你的處事態度。
把面試官當朋友,而不是一個在評估你的評審,
面試起來會比較放鬆、自然微笑,這樣也會給人比較有好感。
2021/10/13
英國倫敦客製 3D 蛋糕,把自己設計的蛋糕具現化
2021/10/11
倫敦詳盡貓咖啡餐廳地圖,甚至還有結合領養貓?
Java Whiskers
2021/08/13
2021/08/05
在英國什麼叫冷氣,店家住家沒有內建冷氣這件事
公車、捷運、百貨公司除了夜市幾乎都有冷氣,
怕熱如我在台灣開冷氣大概是 3 月 開到 12 月中,
2021/08/04
很不舒服了還要在英國看醫生好不安,到底該怎麼敘述病情
一、先想好怎麼敘述自己症狀
我上次是被扶進去的但沒有到意識模糊,醫院還是只准我一個人進去。
我知道你很不舒服,但是撐一下! 說清楚醫生才能幫你治療,
如果真的沒辦法講話可以用手機打下來給醫生看。
也記得把常備藥物帶著,畢竟醫生開的藥和你使用的藥可能有交互影響,
也要有心理準備可能不像在台灣,
在英國 walk-in 除非嚴重症狀不然會等了三四小時以上,
預約 GP 可能預約不到近期的,
只能說在國外生病,真的需要很強很強的意志力。
2021/07/14
有長期處方用藥需求如何申請、攜帶出境,並在英國尋找相同 / 替代藥,包含使用 GP 諮詢和申請線上定期訂藥
一、處方用藥
1.1 藥物攜帶疑問
我本來就有長期需要吃處方用藥的需求,- 英國允許一個人帶多少月份的藥量?
- 哪些藥可以帶哪些藥不行?
- 需不需要申請?
- 申請內容要寫什麼?
1.2 藥品管制查詢
主要看自己的藥有沒有在藥品管制級別 schedule 上,
注意是查製作藥品的藥物名稱,所以假設你是要查普拿疼,不是查 panadol 而是要查成份 acetaminophen。
- 攜帶 letter of proof
- 申請 personal license
- 申請 personal licence
- 攜帶 letter of proof
- 在前往英國前要聯絡 Drug and Firearms Licensing Unit
1.3 Letter of proof / Personal license 之申請
1.3.1 Letter of prove
- 姓名
- 旅行目的地和什麼時候出發
- 藥品名稱、用量及劑量
- 醫生簽名
1.3.2 Personal licence
- Email 到 dflu.ie@homeoffice.gov.uk
- 至少在抵達英國前 15 個工作日前申請
- 藥品的名稱、用量及劑量
- 醫生處方證明及註冊號
- 說明藥品中是否含有管控成分
- 說明是否能合法從出發國帶出藥品
- 寫明所用藥物全部細節如劑量、用量和總數量
- 醫生處方證明及註冊號
- 提供詳細的旅行計劃,如在英地址和訪英目的
1.4 不推薦的作法
- 由朋友在台灣領藥後用郵局寄到英國
- 請最近要來英國的人幫忙帶藥
確診罕見疾病 - 菊池病,是什麼樣的感受?
走在路上時突然覺得鼻子很癢、然後開始一直打噴涕,
然後突然身體無力,勉強撐到走回家,
但就這些症狀沒有咳嗽,應該是小感冒,自行服用感冒用藥大概一周後痊癒。
5/31 - 6/3
生理期,幸好並不是很嚴重。
6/1
前幾天晚上睡覺時就覺得很乾,
6/2
下午開始喉嚨痛,發燒到 38.3 左右,
吃藥一小時後略降到 37.8,再過一段時間有退燒。
6/3
喉嚨兩側非常非常痛,連耳朵兩側都會痛,
6/4
持續喉嚨痛和微燒 37.5 - 37.7,去 Boots 詢問藥師意見,
然後給我一套 covid test kit 測試,
2021/03/09
疫情下在英國工程師 on board 和工作紀錄
2021/02/27
瘋了才會在疫情封城的時候跑到英國找工程師工作
2021/02/25
推薦前端工程師 - 胡立的部落格,不只是只有分享技術
但其實他的部落格不限於對程式有興趣的人才能看,
2021/01/20
2020/12/25
2020/09/02
Chrome SameSite Cookie Policy Causes Problem :: Logout When Direct To External Website Then Back Own Site
Recently I am working on a function, when user submits the form then it will direct to the external website, and we will give a return URL via the form, let the external website can lead the users back to our website after finish their manipulation.
Then I encountered a problem, the users will be automatically logged out when the external websites redirect to our website.
After debugging, I discovered that the session ID is different from the origin session ID when users direct back to our website, and it only occurs in Chrome, Safari, IE, Edge, firefox works fine.
Why? It turns out that Chrome enforces set SameSite = LAX cookies, so we need to set the SameSite = 'None', that Secure will be available on a third-party website.
So, Let's start to edit the SamSite attribute,
First, you may want to know "Is that the logout reason really was caused by SameSite ?"
That's fine, we can test it w/o modifying code.
Enter chrome://flags/ in the URL bar,
search "Samesite" then turn it as disabled,
press the button "Relaunch" to relaunch the setting on the bottom right corner.
To test the users will log out or not.
If it works, then the problem definitely is SameSite.
However, that's impossible to ask every user to change the setting,
that's all right we have a couple of methods to solve the problem,
1. Set the header
If your PHP version < 7.3.0
header('Set-Cookie: cross-site-cookie=name; SameSite=None; Secure');
or
header('Set-Cookie: cookie2=name; SameSite=None; Secure', false);
If your PHP version >= 7.3.0
setcookie('cookie2', 'name', ['samesite' => 'None', 'secure' => true]);
or
setcookie('cross-site-cookie', 'name', ['samesite' => 'None', 'secure' => true]);
Use the name of 'sessionID' to replace 'name'
2. Set the .htaccess
Header always edit Set-Cookie ^(.*)$ "$1;HttpOnly;Secure;SameSite=None"
3. Set the httpd.conf
Header always edit Set-Cookie ^(.*)$ "$1;HttpOnly;Secure;SameSite=None"
Remember to reload the apache after setting up