日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

一個關于 i++ 和 ++i 的面試題打趴了所有人

來源: 責編: 時間:2023-09-28 10:04:33 287觀看
導讀大家好,我是哪吒。公司最近在招聘實習生,作為面試官之一的我,問了一道不起眼的經典面試題。一、i++和++i有啥區別?大部分的面試者會這樣答:i++ 返回原來的值,++i 返回加1后的值。i++是先賦值,然后再自增;++i是先自增,后賦值。

f7128資訊網——每日最新資訊28at.com

大家好,我是哪吒。f7128資訊網——每日最新資訊28at.com

公司最近在招聘實習生,作為面試官之一的我,問了一道不起眼的經典面試題。f7128資訊網——每日最新資訊28at.com

一、i++和++i有啥區別?

大部分的面試者會這樣答:f7128資訊網——每日最新資訊28at.com

  • i++ 返回原來的值,++i 返回加1后的值。
  • i++是先賦值,然后再自增;++i是先自增,后賦值。

下面這個才是主菜。f7128資訊網——每日最新資訊28at.com

二、高并發場景下i++會遇到哪些問題?

大部分面試者心里肯定在想,這會有啥問題,不就是一個普通的操作嘛!f7128資訊網——每日最新資訊28at.com

先從i++操作說起,一個命令可以拆分成三部分:f7128資訊網——每日最新資訊28at.com

  • 取值
  • ++操作
  • 賦值

我去,這不是吹毛求疵,雞蛋里挑骨頭嘛!這面試不參加也罷!f7128資訊網——每日最新資訊28at.com

但是,你想啊,如果當線程執行到取值或者++操作時,線程突然切換了,會不會有問題呢?f7128資訊網——每日最新資訊28at.com

step1:雙線程場景

public class ThreadTest1 {    int a = 1;    int b = 1;    public void add() {        System.out.println("add start");        for (int i = 0; i < 10000; i++) {            a++;            b++;        }        System.out.println("add end");    }    public void compare() {        System.out.println("compare start");        for (int i = 0; i < 10000; i++) {            boolean flag = a < b;            if (flag) {                System.out.println("a=" + a + ",b=" + b + "flag=" + flag + ",a < b = " + (a < b));            }        }        System.out.println("compare end");    }    public static void main(String[] args) {        ThreadTest1 threadTest = new ThreadTest1();        new Thread(() -> threadTest.add()).start();        new Thread(() -> threadTest.compare()).start();    }}

f7128資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-11790-0.html一個關于 i++ 和 ++i 的面試題打趴了所有人

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 利用SpeechToText功能創建交互式語音助手應用程序的實現指南

下一篇: 徹底搞懂Spring的Bean加載

標簽:
  • 熱門焦點
  • K60至尊版狂暴引擎2.0加持:超177萬跑分斬獲性能第一

    Redmi的后性能時代戰略發布會今天下午如期舉辦,在本次發布會上,Redmi公布了多項關于和聯發科的深度合作,以及新機K60 Ultra在軟件和硬件方面的特性,例如:“K60 至尊版,雙芯旗艦
  • 5月iOS設備好評榜:iPhone 14僅排第43?

    來到新的一月,安兔兔的各個榜單又重新匯總了數據,像安卓陣營的榜單都有著比較大的變動,不過iOS由于設備的更新換代并沒有那么快,所以相對來說變化并不大,特別是iOS好評榜,老款設
  • 服務存儲設計模式:Cache-Aside模式

    Cache-Aside模式一種常用的緩存方式,通常是把數據從主存儲加載到KV緩存中,加速后續的訪問。在存在重復度的場景,Cache-Aside可以提升服務性能,降低底層存儲的壓力,缺點是緩存和底
  • 一年經驗在二線城市面試后端的經驗分享

    忠告這篇文章只適合2年內工作經驗、甚至沒有工作經驗的朋友閱讀。如果你是2年以上工作經驗,請果斷劃走,對你沒啥幫助~主人公這篇文章內容來自 「升職加薪」星球星友 的投稿,坐
  • 三言兩語說透設計模式的藝術-單例模式

    寫在前面單例模式是一種常用的軟件設計模式,它所創建的對象只有一個實例,且該實例易于被外界訪問。單例對象由于只有一個實例,所以它可以方便地被系統中的其他對象共享,從而減少
  • 一篇聊聊Go錯誤封裝機制

    %w 是用于錯誤包裝(Error Wrapping)的格式化動詞。它是用于 fmt.Errorf 和 fmt.Sprintf 函數中的一個特殊格式化動詞,用于將一個錯誤(或其他可打印的值)包裝在一個新的錯誤中。使
  • 一篇文章帶你了解 CSS 屬性選擇器

    屬性選擇器對帶有指定屬性的 HTML 元素設置樣式。可以為擁有指定屬性的 HTML 元素設置樣式,而不僅限于 class 和 id 屬性。一、了解屬性選擇器CSS屬性選擇器提供了一種簡單而
  • 華為將推出盤古數字人大模型 可幫助用戶12小時完成數字人生成

    在今日舉行的2023年華為云數字文娛AI創新峰會上,華為云全球Marketing與銷售服務總裁石冀琳表示,華為云將在后續推出盤古數字人大模型,可幫助用戶12小
  • iQOO 11S或7月上市:搭載“雞血版”驍龍8Gen2 史上最強5G Soc

    去年底,iQOO推出了“電競旗艦”iQOO 11系列,作為一款性能強機,iQOO 11不僅全球首發2K 144Hz E6全感屏,搭載了第二代驍龍8平臺及144Hz電競屏,同時在快充
Top 主站蜘蛛池模板: 郓城县| 乌拉特前旗| 广德县| 平远县| 定边县| 托里县| 乌鲁木齐县| 麻江县| 奉新县| 永嘉县| 外汇| 兴宁市| 棋牌| 安化县| 苏尼特左旗| 雷波县| 瓮安县| 南溪县| 慈溪市| 沅陵县| 洞头县| 泰来县| 文昌市| 乌鲁木齐县| 河曲县| 公主岭市| 岐山县| 大港区| 桃园市| 巴林左旗| 安远县| 泽库县| 西畴县| 福海县| 遂平县| 友谊县| 南澳县| 太和县| 马边| 察雅县| 望江县|