衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

美圖面試C++工程師的經歷

工程師人生 ? 來源:工程師吳畏 ? 2019-06-26 16:55 ? 次閱讀

上周去美圖公司面試C++工程師 有兩位面試官

一位面試官問了一些數據結構相關的問題 另一位面試官則問了一些項目相關的問題

交流比較順暢 和他們的交流也反饋給我一些信息 原來工作中有些地方可以做的更好

比如代碼的耗時點的評估

問到數據結構時 面試官問了我這樣一個問題

1. 求兩個二叉樹的子節點的最低公共父節點?

這個問題當時我是這樣回答的:遞歸向上尋找父節點 每一個父節點又各自向下遞歸尋找另一個要尋找的子節點。 這個做法無疑是低效的。面試官教我這樣一種方法:兩個子節點都向上遞歸到根節點 然后逐個驗證兩條路徑中的每個節點是否是公有節點 直到尋找到最低節點。

這個方法明顯比我的要聰明不少,另外我查了些資料 其實這個問題還有其他解法

1. 中序遍歷

2. 后序遍歷

為什么可以用這兩種方法呢?

因為兩個子節點的公共父節點必定在他們的中間!這是個容易得出的規律。

中序遍歷時 按順序遍歷 左 根 右節點

后序則是 左 右 根節點

按照這種方法可以大概圈定出公共節點的范圍 再采用遞歸尋找會快些。

2. 求最小的k個數

這個問題我是這樣答的:建立小頂堆 然后拿走堆頂節點后再調整堆為小頂堆

這樣的話開銷在于 第一次小頂堆的建立

后序每次小頂堆的重調整(開銷不像第一次建立那么大)

這一題面試官似乎不是很滿意答案 但是我回來想了下 網上能查到的還有用快排實現的

實際上也是用的遞歸快排 開銷也不低 這個問題可能還得再想想。

工程相關的問題:

1. 關于框架的跨平臺

這個問題主要也就是回答了下怎么把C++的框架代碼應用到Androidios

關于Android方面的我熟悉一些 簡單講了下C調用Java,Java調用C的方法。

以及對應的C++接口阻塞/非阻塞 Java監聽C代碼的回調這些

ios就簡單介紹了下自己用過的Object-C/C++混合編程

2. 關于代碼的耗時點

這和我原來的想法有點不一樣

原來我認為的優化是通過在代碼里替換高IO代碼為arm匯編來提高效率

但實際上好像沒有這樣做

另外面試官還提到了用工具來分析代碼性能 我查了一下有不少開源實現

這個要關注一下。 原來的分段式分析耗時的方法還是比較落后 效率比較低一些。

總結

美圖的技術實力還是過硬的 原先參加過的面試 基本只問些項目相關的邏輯實現

這次面試問了不少基礎相關的問題 不少基礎沒打扎實 要研究清楚來。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 工程師
    +關注

    關注

    59

    文章

    1572

    瀏覽量

    68652
  • C++
    C++
    +關注

    關注

    22

    文章

    2114

    瀏覽量

    73858
  • 美圖
    +關注

    關注

    0

    文章

    77

    瀏覽量

    8147
收藏 人收藏

    評論

    相關推薦

    面試題】人工智能工程師高頻面試題匯總:概率論與統計篇(題目+答案)

    ?隨著人工智能技術的突飛猛進,AI工程師成為了眾多求職者夢寐以求的職業。想要拿下這份工作,面試的時候得展示出你不僅技術過硬,還得能解決問題。所以,提前準備一些面試常問的問題,比如概率論與統計知識
    的頭像 發表于 01-22 13:00 ?394次閱讀
    【<b class='flag-5'>面試</b>題】人工智能<b class='flag-5'>工程師</b>高頻<b class='flag-5'>面試</b>題匯總:概率論與統計篇(題目+答案)

    為什么嵌入式驅動開發工程師可以拿高薪?

    為什么嵌入式驅動開發工程師可以拿高薪? 嵌入式驅動開發,屬于需求量大、薪資斷崖式升高的熱門崗位,在市場的發展驅動下成為“風口”。從市場的整體需求來看,嵌入式系統的應用隨著5G、物聯網、大數據、云
    發表于 01-07 16:56

    面試題】人工智能工程師高頻面試題匯總:機器學習深化篇(題目+答案)

    隨著人工智能技術的突飛猛進,AI工程師成為了眾多求職者夢寐以求的職業。想要拿下這份工作,面試的時候得展示出你不僅技術過硬,還得能解決問題。所以,提前準備一些面試常問的問題,比如機器學習的那些算法
    的頭像 發表于 12-16 13:42 ?2058次閱讀
    【<b class='flag-5'>面試</b>題】人工智能<b class='flag-5'>工程師</b>高頻<b class='flag-5'>面試</b>題匯總:機器學習深化篇(題目+答案)

    面試題】人工智能工程師高頻面試題匯總:Transformer篇(題目+答案)

    隨著人工智能技術的突飛猛進,AI工程師成為了眾多求職者夢寐以求的職業。想要拿下這份工作,面試的時候得展示出你不僅技術過硬,還得能解決問題。所以,提前準備一些面試常問的問題,比如機器學習的那些算法
    的頭像 發表于 12-13 15:06 ?614次閱讀
    【<b class='flag-5'>面試</b>題】人工智能<b class='flag-5'>工程師</b>高頻<b class='flag-5'>面試</b>題匯總:Transformer篇(題目+答案)

    人工智能工程師高頻面試題匯總——機器學習篇

    隨著人工智能技術的突飛猛進,AI工程師成為了眾多求職者夢寐以求的職業。想要拿下這份工作,面試的時候得展示出你不僅技術過硬,還得能解決問題。所以,提前準備一些面試常問的問題,比如機器學習的那些算法
    的頭像 發表于 12-04 17:00 ?989次閱讀
    人工智能<b class='flag-5'>工程師</b>高頻<b class='flag-5'>面試</b>題匯總——機器學習篇

    正是拼的年紀|65歲電子工程師上班VLOG #65歲退休 #電子工程師 #搞笑 #上班vlog

    電子工程師
    安泰小課堂
    發布于 :2024年07月25日 11:31:02

    嵌入式軟件工程師和硬件工程師的區別?

    。他們之間的緊密合作對于成功開發出高效的嵌入式系統至關重要。 嵌入式軟件工程師和嵌入式硬件工程師在工作中有著不同的技能要求和專業知識。嵌入式軟件工程師需要具備扎實的編程基礎,熟練掌握C
    發表于 05-16 11:00

    大廠電子工程師常見面試題#電子工程師 #硬件工程師 #電路知識 #面試

    電子工程師電路
    安泰小課堂
    發布于 :2024年04月30日 17:33:15

    企業老工程師和高校老師有啥區別

    電子工程師硬件
    電子發燒友網官方
    發布于 :2024年02月28日 17:50:00
    玩百家乐官网怎么才能赢| 百家乐电子游戏试| 做生意进门风水| 世嘉百家乐官网的玩法技巧和规则 | 水城县| 百家乐官网真人娱乐场| 百家乐官网美女荷官| 百家乐官网赢钱好公式| 现场百家乐官网投注| 百家乐官网龙虎的投注法| 百家乐官网投注外围哪里好| 百家乐官网视频画面| 赌场百家乐视频| 同花顺百家乐的玩法技巧和规则 | 立博网站| 百家乐官网代理占成| 百家乐官网三遍| 淘宝博百家乐官网的玩法技巧和规则 | 广东百家乐主论坛| 天津太阳城橙翠园| 网上合法赌博网站| 百家乐官网如何必胜| 澳门百家乐官网赌钱| 百家乐冯耕耘打法| 威尼斯人娱乐城骰宝| 澳门网上| 百家乐官网8点| 御金娱乐城| 澳门百家乐官网赌客| 风水24山图| 加州百家乐的玩法技巧和规则| 德州扑克 规则| 百家乐官网游戏打水方法| 做生意的摆件| 网上百家乐试玩网址| 百家乐论坛| 卢克索百家乐官网的玩法技巧和规则 | 易胜博网站| 利都百家乐官网国际娱乐网| 真人百家乐海立方| 大发888怎么能不卡|