在現今數字年代,計算機bug不但困擾著每個程式員,更會無可避免影響我們的生活,小到每個人的衣食住行,大到國家經濟,世界局勢,隨著我們的生活方式漸漸的數字化、互聯網化,數字世界的找蟲和殺蟲就變得越來越重要,
軟體史上有哪些著名的bug呢?讓我們一起來回顧一下:
萬“蟲”之母,史上留名

1947年9月9日下午3點45分,Grace Murray Hopper在她的記錄本上記下了史上第一個計算機Bug——在Harvard Mark II計算機里找到的一只飛蛾,她把飛蛾貼在日記本上,并寫道”First actual case of bug being found”,
這個發現奠定了Bug這個詞在計算機世界的地位,變成無數苦逼程式員的噩夢, 從那以后,Bug這個詞在計算機世界表示計算機程式中的錯誤或者疏漏,它們會使程式計算出莫名其妙的結果,甚至引起程式的崩潰,Grace Murray Hopper是歷史上最早一批程式員,而且還是個女程式員,服役于美國海軍,官至準將,
這是流傳最廣的關于計算機Bug的故事,可是歷史的真相是,Bug這個詞早在發明家托馬斯·愛迪生的年代就被廣泛用于指機器的故障,這在愛迪生本人的1870年左右的筆記里面也能看得到,而電氣電子工程師學會IEEE也將Bug這一詞的引入歸功于愛迪生,
千年蟲,炒作的狂歡

在上個世紀,軟體業者從來沒想過他們的代碼和產品會跨入新千年,因此,很多軟體業者為了節省記憶體省略掉代表年份的前兩位數字”19”,或者默認前兩位為“19”,
而當日歷越來越接近1999年12月31日時,人們越來越擔心在千禧年的新年夜大家的電腦系統都會崩潰,因為系統日期會更新為1900年1月1日而不是2000年1月1日,這樣可能意味著無數的災難事件,甚至是世界末日,
到今天,我們可以調侃這個滑稽的故事,因為核導彈并沒有自動發射,飛機也沒有失控從天上掉下來,銀行也沒有把國家和用戶的大筆存款弄丟,
千年蟲Bug是真實的,全球花了上億的美金用來升級系統,而且,也發生了一些小的事故:在西班牙,停車場計費表壞了;法國氣象局公布了19100年1月1日的天氣預報;在澳洲,公共汽車驗票系統崩潰,就這樣而已,最后盤點的結果是軟體公司賺了大錢,八卦小報銷量大增,很多程式員的千禧年夜party泡湯了,幾個中國文盲老太太被人騙了養老金,不可謂不嚴重,
宰赫蘭導彈事件,毫秒的誤差

在1991年2月的第一次海灣戰爭中,一枚伊拉克發射的飛毛腿導彈準確擊中美國在沙地阿拉伯的宰赫蘭基地,當場炸死28個美國士兵,炸傷100多人,造成美軍海灣戰爭中唯一一次傷亡超過百人的損失,
在后來的調查中發現,由于一個簡單的計算機bug,使基地的愛國者反導彈系統失效,未能在空中攔截飛毛腿導彈,當時,負責防衛該基地的愛國者反導彈系統已經連續作業了100個小時,每作業一個小時,系統內的時鐘會有一個微小的毫秒級延遲,這就是這個失效悲劇的根源,愛國者反導彈系統的時鐘暫存器設計為24位,因而時間的精度也只限于24位的精度,在長時間的作業后,這個微小的精度誤差被漸漸放大,在作業了100小時后,系統時間的延遲是三分之一秒,
對一般人人來說,0.33秒是微不足道的,但是對一個需要跟蹤并摧毀一枚空中飛彈的雷達系統來說,這是災難性的——侯賽因飛毛腿導彈空速達4.2馬赫(每秒1.5公里),這個”微不足道的”0.33秒相當于大約600米的誤差,在宰赫蘭導彈事件中,雷達在空中發現了導彈,但是由于時鐘誤差沒有能夠準確地跟蹤它,因此基地的反導彈并沒有發射,
公尺還是英尺?火星氣候探測者號的星際迷航

火星氣候探測者號在1997年發射,目的為研究火星氣候,但是它沒有能夠達成這項花費3億多美元的使命,
探測者號在太空中飛行幾個月以后,由于導航錯誤,最終在火星大氣層解體,探測器的控制團隊使用英制單位來發送導航指令,而探測器的軟體系統使用公制來讀取指令,這一錯誤大大改變了導航控制的路徑,最后探測器進入過低的火星軌道(大約100公里誤差),在過大的火星大氣壓力和摩擦下解體,
阿麗亞娜5型運載火箭,昂貴的簡單復制

程式員在編程時必須定義程式用到的變數,以及這些變數所需的計算機記憶體,這些記憶體用位元位定義,
一個16位的變數可以代表-32.768到32.767中間的值,而一個64位的變數可以代表?9.223.372.036.854.775.808到9.223.372.036.854.775.807中間的值,
1996年6月4日,阿麗亞娜5型運載火箭的首次發射點火后,火箭開始偏離路線,最終被逼引爆自毀,整個程序只有短短30秒,阿麗亞娜5型運載火箭基于前一代4型火箭開發,在4型火箭系統中,對一個水平速率的測量值使用了16位的變數及記憶體,因為在4型火箭系統中反復驗證過,這一值不會超過16位的變數,而5型火箭的開發人員簡單復制了這部分程式,而沒有對新火箭進行數值的驗證,結果發生了致命的數值溢位,
發射后這個64位帶小數點的變數被轉換成16位不帶小數點的變數,引發了一系列的錯誤,從而影響了火箭上所有的計算機和硬體,癱瘓了整個系統,因而不得不選擇自毀,4億美金變成一個巨大的煙花,
過不過癮,爽不爽,留下你的腳印,讓我這個妹子自豪一下吧



當然還有面試,面試一般分為技術面和hr面,形式的話很少有群面,少部分企業可能會有一個交叉面,不過總的來說,技術面基本就是考察你的專業技術水平的,hr面的話主要是看這個人的綜合素質以及家庭情況符不符合公司要求,一般來講,技術的話只要通過了技術面hr面基本上是沒有問題(也有少數企業hr面會刷很多人)
我們主要來說技術面,技術面的話主要是考察專業技術知識和水平,上面也是我整理好的精選面試題,
為了幫助大家更好的學習大家遇到什么問題都可以來問我哦~
最后資料的領取方式是,點贊,評論,加扣扣群 679433150,加群就對了,
更多好文:
談 postman自動化介面測驗
selenium自動化測驗入門 層級定位與定位一組元素
selenium自動化測驗入門 瀏覽器多視窗切換
python+selenium自動化測驗實戰(郵箱登錄為例)
軟體自動化測驗工具有哪些?手工測驗與自動化測驗應用場景區別
功能測驗怎么做?常用功能測驗方法總結【必看】
用于全堆疊自動化測驗的最佳Python工具
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/136993.html
標籤:java
下一篇:buuoj-crypto 1
