爆贊!Android崗大廠面試官常問的那些問題,論程序員成長的正確姿勢

開頭

昨天去面了一家公司,價值觀有受到沖擊。

面試官技術方面沒的說,他可能是個完美主義的人,無論什么事情到了他那里好像都有解決的方案,我被說的無所適從,感覺他很厲害。

但我不能認可的是,面試官覺得加班是理所當然的,還說有人想把事情做的更好,愿意自主加班。這個我不否認,但憑什么說加班說的那么理所當然,違背國家制度也這么理所當然嗎?

他問我對加班的看法。我說可以加班,有意義就可以。他繼而反問,有些人覺得給老板打工就是沒意義的,那是否所有加班都是沒意義的呢?我當然說不是,他這么以己度人,我無語了。

我又說,忙的時候可以加,不會一直加下去吧?有沒有階段性休息和調整的說法?
他說沒有,不到公司上市會一直保持這種狀態。

頓時我不知道該說些啥,也許就是價值觀的不同吧,似乎我不加班就說明我工作劃水,效率低。

讓你加班的,可能就是你的同行,這似乎有點兒悲哀。

面經分享

第一部分是我前端面試的經驗總結,第二部分是我認為比較有思考空間的題目

經驗總結

  • 一份漂亮的簡歷,需要包括以下部分(排版由上而下)
    • 個人亮點(專精領域,個人博客,開源項目)
    • 教育經歷(畢業院校,在校經歷、榮譽)
    • 工作經歷(實習)
    • 項目經歷
    • 專業技能
  • 扎實的前端基礎,比如你知道
    • <meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'/> 作用是什么?
    • flex:1 的 1 代表什么?
    • Generator 如何拋出錯誤?
  • 熟悉一門前端框架(React 優先)
  • 勤刷 LeetCode 的算法題,熟悉掌握相應的數據結構如常見的鏈表、棧、隊列、哈希表、樹
  • 熟悉網絡基礎、Git 命令、Linux 命令
  • 多去了解前端的新趨勢(Flutter,PWA,Serveless,GraphQL,CSS Houdini)
  • 要有自信,讓面試官感受到你對前端的熱愛

面試題

由于面試的公司和次數略多,老生常談的面試題就不放出來了,也不按公司劃分面試題了

算法題

大多出自 LeetCode ,LeetCode HOT 100,最好自己過一遍,理解最優解

編程題

  • 用 Class 實現 EventEmitter,要求擁有 on,once,emit,off 方法

  • 實現 deepClone,要求能成功克隆帶有循環引用的對象

  • CSS 實現一個寬度為瀏覽器1/2,寬高比為 2:1 的盒子

  • 實現 sum 函數

    sum(1)(2)(3) == 6; // true
    sum(1, 2, 3) == 6; // true
    復制代碼
    
  • 實現 sum2 函數

    console.log(sum2(1)(2)(3)()) // 6
    console.log(sum2(1, 2, 3)()); // 6
    復制代碼
    
  • 用尾遞歸實現 fibonacci 數列

  • 實現 co 函數

  • 實現以下功能,當對一個 arr 做 push 操作時,會自動打印一行提示消息

    const arr = [1,2,3];
    arr.push(4);
    // arr pushed a new element: 4
    復制代碼
    
  • 代碼實現中斷 Promise 的運行

  • 有一組圖片,實現后一張圖片必須等到上一張圖片加載完畢,才能開始加載

  • 為 Test 類添加方法,打印指定內容

    class Test {constructor() {this.person = { name: "jack", age: 38, position: "CTO" };}// ......
    }const test = new Test();
    for (const ele of test) {console.log(ele);
    }
    // [ 'name', 'jack' ]
    // [ 'age', 38 ]
    // [ 'position', 'CTO' ]
    復制代碼
    
  • 實現 handler 函數,遇到 b 和 ac 都要去除

    console.log(handler("aabaa")); // 'aaaa'
    console.log(handler("abaccbc")); // 'c'
    console.log(handler("aaccc")); // 'c'
    console.log(handler("aaabccc")); // ''
    復制代碼
    
  • 實現 decode 函數

    decode('HG[3|B[2|CA]]F') === 'HGBCACABCACABCACAF' // true
    復制代碼
    
  • 實現 _bind 函數,使打印 success

    function Animal(name, color) {this.name = name;this.color = color;
    }
    Animal.prototype.say = function() {return `I'm a ${this.color} ${this.name}`;
    };
    const Cat = Animal._bind(null, "cat");
    const cat = new Cat("white");
    if (cat.say() === "I'm a white cat" &&cat instanceof Cat &&cat instanceof Animal
    ) {console.log("success");
    }
    復制代碼
    
  • CSS 實現圓環進度條效果

  • 說出以下打印內容

    console.log(-1 >>> 32); 
    console.log(-1 << 32);
    console.log(1 >> 32);
    console.log(5 >>> 2);var a = { n: 1 };
    var b = a;
    a.x = a = { n: 2 };
    console.log(a.x);
    console.log(b.x);
    復制代碼
    

簡答題

  • 實現 F12 開發者工具的檢查(inspect)功能
  • 實現 把一個盒子從一個區域拖放到另一個指定區域中
    • 盒子一部分在區域內,一部分在區域外,該如何處理
    • 簡述幾個封裝好的關鍵方法
  • 開發完的項目,在微信瀏覽器上白屏,該如何排查
  • 如何統計一個頁面上哪些區域用戶點擊次數最多
  • 如何根據按鈕級別的粒度,設計用戶權限,例如:A 可以訪問按鈕,B 不可以
  • 如何對一個網頁內容進行自動化截屏,如何解決登錄限制

  • A組件包裹B組件,B組件包裹C組件,它們的 componentDidMount 觸發順序如何
  • React setState 到底是異步還是同步的,其原理是什么
  • React Hooks 的使用有哪些注意事項
  • React 的合成事件機制
  • 簡述 React 類組件的新老生命周期,談談 React Fiber 架構的引入
  • 詳細介紹一下 Redux 狀態管理,如何和 React 組件連接
  • React HOC 的用途,什么是裝飾器模式
  • Mobx 的實現原理

  • Koa 的中間件原理,介紹一下 compose 函數
  • 介紹 NodeJS 的 EventLoop 機制,process.nextTick() 的作用
  • NodeJS 是單線程還是多線程,都有哪些線程,JS 為什么是單線程的
  • CommonJS 的實現原理
  • NodeJS 中存在哪些流,怎么理解 pipe() 及其優點
  • require 的解析規則
  • 介紹一下負載均衡,NodeJS 的 cluster 和 child_process 是什么

  • webpack 是如何進行打包的
  • webpack 動態 import 是如何實現的
  • 如何編寫自己的 loader 和 plugin
  • 簡述 webpack 配置文件中的 externals,UMD 了解嗎

  • 介紹一下 DNS,什么是迭代查詢和遞歸查詢,什么是一級域名、二級域名
  • HTTP 首部(Header)和實體(Body)的分隔符是什么,用正則如何匹配
  • HTTPS 的詳細過程,什么是數字證書,消息摘要,非對稱加密,Hash 算法
  • 如何實現 Tab(標簽)頁之間,客戶端與服務器的實時通訊
  • HTTP 狀態碼:301、302、307 的區別

  • 簡述瀏覽器的垃圾回收機制,什么是強引用、弱引用、循環引用
  • 簡述 requestAnimationFrame 和 requestIdleCallback 的作用
  • CSS 選擇器的解析順序是從右到左,還是從左到右,為什么
  • click 事件在移動端有什么問題,如何解決,你在移動端還遇到那些坑
  • 簡述 JWT 的生成過程和優缺點,怎么主動注銷 JWT 和續簽 JWT
  • 通過什么檢測網站的性能,有哪些指標
  • 如何查看網站的 Ajax 請求是由哪行代碼發出的,一個元素都綁定了哪些事件,Chrome 調試面板 F8,F10,F11 各代表什么
  • 說說你對 jpg、gif、jpeg、png、webp、base64 URL 的了解

最后

由于文章篇幅原因,我只把面試題列了出來,詳細的答案,我整理成了一份PDF文檔,這份文檔還包括了還有?高級架構技術進階腦圖、Android開發面試專題資料,高級進階架構資料 ,幫助大家學習提升進階,也節省大家在網上搜索資料的時間來學習。

需要的朋友可以點擊這里免費領取

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/386354.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/386354.shtml
英文地址,請注明出處:http://en.pswp.cn/news/386354.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Jenkins 中定時任務構建

一般&#xff0c;在Jenkins中搭建項目完成后&#xff0c;項目可正常運行&#xff0c;基本都會進行定時任務的構建。特別是重要的接口&#xff0c;進行關鍵接口自動化的日常巡檢 時&#xff0c;基本都會設置成定時任務&#xff0c;以方便每天&#xff0c;接口的自動化&#xff0…

爆贊!Jetpack-MVVM-高頻提問和解答,滿滿干貨指導

前言 今天我給大家再次分享一下&#xff0c;我最近的一些讀書的感想&#xff0c;思考起來&#xff0c;確實能夠給自己帶來一些真實的幫助和啟發&#xff0c;希望大家在平時的工作學習中&#xff0c;也能夠認清楚學習的一些本質。 如果我們的學習是在不斷掌握應對具體工作場景…

多線程控制不同的線程取不同的數據的問題

做項目的時候需要分析數據&#xff0c;數據量比較大用到多線程&#xff0c;剛開始接觸線程&#xff0c;想著線程應該平分數據&#xff0c;不應該取重復數據&#xff0c;采用了比較笨的方法&#xff0c;將數據的count取出&#xff0c;然后根據線程數平分&#xff0c;但是因為數據…

牛筆了!Android面試真題解析火爆全網,面試必備

開頭 最近有粉絲反應&#xff0c;不想做安卓了&#xff0c;有朋友轉到前端了&#xff0c;安卓不行了&#xff0c;問我怎么辦&#xff1f; 自從RN&#xff0c;Weex這種跨平臺編程語言出來以后&#xff0c;安卓將死的言論總是不絕于耳。隨著頗有摧枯拉朽之勢Flutter的出現&…

騰訊,字節等大廠面試真題匯總,深夜思考

前言 最近經常被朋友問到的兩個問題。 問題一&#xff1a; “從事IT工作3年了&#xff0c;做技術好累啊&#xff0c;是不是做到30歲就不能繼續往下做啊&#xff1f;”問題二&#xff1a; “我已經30歲了&#xff0c;還能不能學編程&#xff1f;” 我給出的答案是&#xff1a…

線性回歸原理小結

線性回歸可以說是機器學習中最基本的問題類型了&#xff0c;這里就對線性回歸的原理和算法做一個小結。 一、線性回歸的模型函數和損失函數 線性回歸遇到的問題一般是這樣的。我們有m個樣本&#xff0c;每個樣本對應于n維特征和一個結果輸出&#xff0c;如下&#xff1a; \((x_…

騰訊,字節等大廠面試真題匯總,進階學習資料!

前言 找工作還是需要大家不要緊張&#xff0c;有我們干這一行的接觸人本來就不多 難免看到面試官會緊張&#xff0c;主要是因為怕面試官問的問題到不上來&#xff0c;那時候不要著急 &#xff0c;答不上了的千萬不然胡扯一些&#xff0c;直接就給面試官說這塊我還沒接觸到&…

【題解】魚塘釣魚

題目描述 有N個魚塘排成一排&#xff08;N&#xff1c;100&#xff09;&#xff0c;每個魚塘中有一定數量的魚&#xff0c;例如&#xff1a;N5時&#xff0c;如下表&#xff1a; 即&#xff1a;在第1個魚塘中釣魚第1分鐘內可釣到10條魚&#xff0c;第2分鐘內只能釣到8條魚&…

騰訊,字節,阿里,小米,京東大廠Offer拿到手軟!分享一點面試小經驗

&#xff08;一&#xff09;簡介 Handler機制是一套Android消息傳遞機制。在Android開發多線程的應用場景中&#xff0c;將工作線程中需更新UI的操作信息 傳遞到 UI主線程&#xff0c;從而實現 工作線程對UI的更新處理&#xff0c;最終實現異步消息的處理。 在Android開發中&a…

騰訊,字節,阿里,小米,京東大廠Offer拿到手軟!絕對干貨

開頭 又到年底了&#xff0c;每到這個時候&#xff0c;我們都會慢慢反思&#xff0c;這一年都做了什么&#xff1f;有什么進步&#xff1f;年初的計劃都實現了嗎&#xff1f;明年年初有跳槽的底氣了嗎&#xff1f;況且今年的互聯網環境太差&#xff0c;需要自己有足夠的知識儲…

request對象與response對象

一.request對象 1.通過request對象可以獲得客戶端輸入的信息。request對象包含了從客戶端傳來的請求信息。 請求的參數是一個請求的組成部分&#xff0c;它們被作為字符串從客戶端傳送到JSP/Servlet容器中&#xff0c;并被用于初始化request對象。 2.request對象是javax.Servle…

騰訊,字節,阿里,小米,京東大廠Offer拿到手軟!講的明明白白!

緣起 隨著Android開發行業逐漸飽和&#xff0c;對Android開發者的面試要求也越來越高&#xff0c;是否掌握底層源碼&#xff0c;是面試官衡量一名Android開發者的重要依據。有沒有讀過源碼也可以很大程度上判斷你這個人的學習能力和思維方式。無論你開發經驗幾年&#xff0c;面…

HTML div 滾動條樣式設計

::-webkit-scrollbar-track-piece{ background-color:#fff;/*滾動條的背景顏色*/ -webkit-border-radius:0;/*滾動條的圓角寬度*/ } ::-webkit-scrollbar{ width:8px;/*滾動條的寬度*/ height:8px;/*滾動條的高度*/ } ::-webkit-scrollbar-thumb:vertical{/*垂直滾動條的樣式*/…

膜拜大佬!5年經驗Android程序員面試27天,高級面試題+解析

前言 網上關于啟動優化的文章多不勝數&#xff0c;內容千篇一律&#xff0c;大都是列舉一些耗時操作&#xff0c;采用異步加載、懶加載等。 而在面試過程中&#xff0c;關于啟動優化的問題&#xff0c;如果只是很表面地回答耗時操作應該放在子線程&#xff0c;顯然太過于普通…

膜拜大佬!不同層級的Android開發者的不同行為,社招面試心得

都說Android最近行情不好&#xff0c;很多人都遇到瓶頸或放棄或轉行。其實這種情況17年18年也是如此&#xff0c;相對比之下&#xff0c;個人認為今年比去年好多了&#xff0c;Android接下來將會走向復蘇的春天。 自從Google開始推出AMP項目已經有一年了。除此之外&#xff0c;…

zookeeper的四種類型的節點

znode創建類型(CreateMode),有以下四種&#xff1a; PERSISTENT 持久化節點PERSISTENT_SEQUENTIAL 順序自動編號持久化節點&#xff0c;這種節點會根據當前已存在的節點數自動加 1EPHEMERAL 臨時節點&#xff0c; 客戶端session超時這類節點…

膜拜大牛!Android開發最佳實踐手冊全網獨一份,終獲offer

前言 首先介紹一下自己&#xff0c;計算機水本&#xff0c;考研與我無緣。之前在帝都某公司算法部實習&#xff0c;公司算大公司吧&#xff0c;然而個人愛好偏開發&#xff0c;大二的時候寫個一個app&#xff0c;主要是用各種框架。 學習路徑&#xff1a;如何循序漸進、階段性…

英語每日一句

從今天開始學英語了&#xff1a;還蠻重要的。 It s not what I ask for.這不是我要的那樣。 你能寫出&#xff0c;你第一時間想到的一句英語嗎&#xff1f; 轉載于:https://www.cnblogs.com/igouz/archive/2008/11/28/1343014.html

膜拜大牛!HTTPS面試常問全解析,吊打面試官系列!

寫在前面 1月初失業&#xff0c;找了近2個多月的工作了&#xff0c;還沒找到心儀的工作&#xff0c;感覺心好慌&#xff0c;不知道該怎么辦了&#xff1f;找不到工作的時候壓力很大&#xff0c;有人說自信會很受打擊&#xff0c;還有人說會很絕望&#xff0c;是人生的低谷………

vSphere HA 原理與配置

內容預覽&#xff1a; 1. vSphere HA 概述 2. vSphere HA 提供的保護級別 3. vSphere HA運行原理 4. vSphere HA 故障支持場景 5. vSphere HA接入控制策略 6. 如何選擇vSphere HA 的接入控制策略 7. 配置vSphere HA的基礎條件 8. 虛擬機組件保護 9. 開啟vSphere HA功能 1. v…