發表文章

目前顯示的是 2017的文章

[心得] 107 中央軟工所面試

面試過後忙亂了一陣子,因此這篇過了好一陣子才開始寫,有些地方可能不會完全正確,加上在下記性甚差,僅供參考。 這次面試很有跑大地遊戲的樂趣,與往年相同分成三關,不過要跑兩層樓、三間教室。其中有一間教室離的比較遠,當時太緊張一直沒發現有一條小路連結兩棟建築物,還以為迷失在異世界的迷宮了(嗚嗚...)。 三個關卡不會照順序,只要有空檔就可以出發挑戰。 背景和結果 花蓮好山好水好多觀光客大學(笑) 系排50~60% 各種貪玩,有專題 書面約76分,最低錄取74.25, 今年報考的人數比往年多 。 第一梯次備取成功 程式撰寫能力面談(0x0f分鐘) 雖然寫著面談兩個字,但關主給了題目本後只做簡單的說明(只能用Notepad++,時間限制15分鐘等等)和讓我問問題(如果function name 忘了可以用描述的),就讓我在電腦前默默地敲鍵盤。前面的白板上用十六進制寫著時間限制,非常可愛XD 因為平常習慣構思比較久再動手 還會手賤的各種重構 ,這關表現的不太好。題目共五題,最後只動手寫了兩題與資料結構(linked list)和遞迴相關的基本題目時間就到了;來不及寫後面兩題比較有趣的修正 dirty code 和物件導向程式設計的題目。 程式開發基本常識(10?分鐘) 這關問了五題開發相關的常識,平常有在寫程式、亂玩的人應該多少都會聽過或用過: 1. 解釋記憶體中的 data、stack和 heap 是什麼?用途? 2. 什麼是環境變數?什麼時候會用到? 3. (題目給一張找不到dll的錯誤對話方塊圖),這是什麼錯誤,如何修正? 4. 絕對路徑是什麼,為什麼程式使用絕對路徑會造成問題?如何解決? 5. 多型是什麼?對軟體開發有什麼好處?舉個例子。 第一題我用 java 的概念回答,但在當下不太確定 data 的用途,在回答完所有題目後才回來給了關主一個猜測的答案;解釋多型時腦袋突然短路只想的到鳥不會飛的失敗案例,就只好硬著頭皮用這個例子了。 英文語言能力(15?分鐘) 這關的考官很風趣,坐下後就先表示可以先放鬆、大喊或者崩潰都可以,好了再開始計時,讓人非常輕鬆XD 這關會提供兩篇英文文章,要將一篇翻譯成中文、一篇照著讀出;投骰子決定要翻譯和讀哪篇文章。 私認為兩篇文章翻譯和讀的難度都不會差太多。一篇文章是關於物件封裝的困難...

Ubuntu 17.10 beta 2 初體驗 - Convergence, in another way

圖片
2017/10/5:新增使用兩日後發現的新問題於文末 自從 Ubuntu 發表了 Unity 後,因為始終用不順手,我用 Ubuntu + Unity 發行板的時間就逐漸變少了。而隨後提出的 Convergence 概念 -- 在各種裝置上擁有同樣的使用者體驗、同樣的作業系統、適應性設計等,也因為手邊沒有方便刷入的裝置而無從體驗起。 雖然 Ubuntu 的 "Convergence" 計畫立意良善,但在原本就已經在衰減的 Linux 桌面市場上再度進行分裂,如今看來並不全是好事(當然,分裂出 Mir 造成 wayland 開發加速是好事)。在向行動裝置進軍的這些年,原有的 Unity 桌面環境只進行小改版和修正,使得本魯只好投靠 Linux Mint / Ubuntu MATE,甚至 KDE,沒再回頭過。 然而從 Ubuntu 17.10 開始,Canonical 宣佈再度回到社群主流的懷抱,桌面環境改回純粹的 GNOME、圖形底層跟進使用 Wayland, 放棄在 Unity 和 Mir 上的投資 ;放棄先前對桌面的投資固然十分可惜,應用程式生態也需要重新建立,但相信對 Linux 桌面環境長遠發展並不是壞事,社群可以更 Convergence 的投資在同一個專案上了。 如此盛大的改版,必須要參與其中。在 17.10 Beta 2 (Ubuntu 官方 flavor 並未推出 Beta 1,當時的 daily build 還不太完整) 發行後幾天,立刻就安裝到我的日常用機上體驗。 Hello, Wayland! Wayland 相對 Xorg 有著更高的效率,其 作者號稱 要讓每個 frame 顯示都是完美的,並使的消滅畫面撕裂 (tearing)、lag、重新繪製和閃爍成為可能。 剛啟動 LiveCD 時,雖然我的機器明顯沒有顯示晶片不支援的問題(intel Ivy Bridge iGPU 當主輸出),Ubuntu 仍然使用 Xorg 作為 display server,但在安裝完成後就能順利啟動 Wayland 了。界面順暢度相較 X 有一定程度的感受,特別是在播放影片的時候,撕裂消失了!不用像以往 特地設定驅動程式 就可以擁有流暢而爽快的畫面。 想檢查是否已經使用 wayland 可以透過...

VSCode - Code Runner 於 Kubuntu 17.04 下無法直接執行C/C++等語言的 workaround

在 Kubuntu 17.04 下 VS Code 直接執行 C/C++ Code 會產生 hang 住也沒有輸出的情形,但實際上有編譯成功卻沒有執行。目前用 gnome-terminal (或自己喜歡的terminal)等外部軟體就可以正常執行了。 在 settings.json 裏面加入*或修改: "code-runner.executorMap": {         "c": "cd $dir && gcc $fileName -o $fileNameWithoutExt && gnome-terminal -e ./$fileNameWithoutExt",         "cpp": "cd $dir && g++ $fileName -o $fileNameWithoutExt && gnome-terminal -e ./$fileNameWithoutExt", } 另外在執行中的 code 若需要檢視 output,需要使用 getchar(); 等方式在return前暫停。(或把上面的executor指令延長,做出shell script再用 terminal 執行?) *先從 default settings 複製完整的段落修改再使用,以免讓其他語言的執行功能故障

Kubuntu 17.04 於 DELL Inspiron 15R 安裝筆記

1. 在系統設定中設定語言格式為中文(zh_TW)後 gnome-terminal 無法開啟,locale指令噴 Cannot set LC_CTYPE to default locale: No such file or directory ....等錯誤訊息 原因: 似乎 KDE 預設產生的語系名稱為 zh_TW.UTF-8,少了一個dash(-)。 解決方案: sudo locale-gen --lang zh_TW.UTF-8 2. 調整風扇速度 用lm-sensors裡面的pwmconfig設定,按照指示產生/etc/fancontrol檔案。 然後將fancontrol加到systemd服務,每次開機啟動即可。 我自己的設定檔: # Configuration file generated by pwmconfig, changes will be lost INTERVAL=10 DEVPATH=hwmon1= hwmon2=devices/platform/coretemp.0 DEVNAME=hwmon1=dell_smm hwmon2=coretemp FCTEMPS=hwmon1/pwm1=hwmon2/temp1_input FCFANS= hwmon1/pwm1=hwmon1/fan1_input MINTEMP=hwmon1/pwm1=60 MAXTEMP=hwmon1/pwm1=75 MINSTART=hwmon1/pwm1=150 MINSTOP=hwmon1/pwm1=100 MINPWM=hwmon1/pwm1=100  3. 目前獨顯暫時還沒有軟體用到,使用預設的open source驅動程式都運作良好。