百度一面的面經(jīng)(簡答題自己添加了答案,以及相關(guān)知識)

第一次直接做機試:

題目:

image

實現(xiàn)一個點贊功能,要求:

任何一個用戶可以發(fā)布一串字符串內(nèi)容.

所有用戶都可以看發(fā)布的內(nèi)容,并進行點贊,蓋內(nèi)若能的點贊數(shù)需要累加統(tǒng)計

任何一個用戶,取消點贊的內(nèi)容,可以進行取消點贊,該內(nèi)容的點贊數(shù)需要扣減

自行設(shè)計數(shù)據(jù)庫以及項目框架搭建并且實現(xiàn)功能

點贊功能:小demo連接

過了一天晚上又打了個電話面試主要的問題我如下列出來:

1.自我介紹,項目介紹

2. sql索引以及原理

index

索引原理:B+樹

優(yōu)化:

主要是在所有的葉子結(jié)點中增加了指向下一個葉子節(jié)點的指針,因此InnoDB建議為大部分表使用自增的主鍵作為索引.

無法使用索引的場景(自己覺得比較重要的)

1.以"%"開頭的LIKE語句,模糊查詢

2.OR語句前后沒有同事使用索引

3.數(shù)據(jù)類型出現(xiàn)隱式轉(zhuǎn)化(如varchar不加單引號的話可能自動轉(zhuǎn)換為int型)

索引:是一種特殊的文件(InnoDB數(shù)據(jù)表上的索引是表空間的一個組成部分),他們包含著對數(shù)據(jù)有記錄的引用指針.

聯(lián)合索引(面試乘扇蹋客)

最左匹配原則,篩選數(shù)據(jù)最多的字段放在左側(cè).

(A,B,C) 這樣3列,mysql會首先匹配A鸣峭,abc ac ab ac 或者cba cab ca ba

就是一定要有最左邊的元素才會使用到索引

3. 介紹一下springboot

SpringBoot是一個快速開發(fā)的框架應(yīng)用,封裝了Maven常用依賴,能夠快速地整合第三方框架;簡化xml配置,全部采用注解形式,內(nèi)置Tomcat,Jetty,Undertow,幫助開發(fā)者能夠?qū)崿F(xiàn)快速開發(fā),SpringBoot的web組件,默認集成的是SpringMvc框架.

springboot原理:

  • 1.能夠幫助開發(fā)者實現(xiàn)快速整合第三方框架.(原理:Maven依賴封裝)

  • 2.去除xml配置完全采用注解化(原理:Spring體系中內(nèi)置注解方式)

  • 3.無需外部Tomcat,內(nèi)部實現(xiàn)服務(wù)器(原理:Java語言支持創(chuàng)建Tomcat服務(wù)器)

4.常用git命令有哪些

  • 在本地創(chuàng)建本地倉庫:git init [project-name]

  • 從遠程倉庫克隆項目: git clone [url]

  • 修改代碼一系列操作后查看狀態(tài): git status

  • 添加到本地倉庫:git add

  • 提交到本地倉庫:git commit

  • 推代碼到遠程倉庫:git push

5.常用的集合類有哪些,然后延伸問hash map的原理以及hashtable的原理和concurrent haspmap的原理

集合類:

image.png

常用的集合類:

一, Collection接口

(1). collection接口的成員方法

增加: boolean add(E e)

刪除: boolean remove(Object o)

清空: void clear()

包含: boolean contains(Object o)

判斷為空: boolean isEmpty()

容量: int size()

boolean addAll(Collection c)

boolean removeAll(Collection c)

boolean containsAll(Collection c)

boolean retainAll(Collection c)

(2). Object[] toArray()

把集合轉(zhuǎn)成數(shù)組摊溶,可以實現(xiàn)集合的遍歷.

(3). Iterator iterator()

迭代器,集合的專用遍歷方式.

使用方法iterator()要求容器返回一個Iterator

boolean hasNext() 檢查是否有下一個元素

E next() 獲取下一個元素

remove() 將迭代器新進返回的元素刪除

1, List接口(繼承Connection)

ArrayList(開發(fā)中用的很多)

底層數(shù)據(jù)結(jié)構(gòu)是一個自增長的數(shù)組莫换,查詢快,增刪慢.

線程不安全拉岁,效率高.

LinkedList

底層數(shù)據(jù)結(jié)構(gòu)是鏈表(存儲地址不連續(xù))坷剧,查詢慢,增刪快

線程不安全膛薛,效率高

LinkedList類特有功能

public void addFirst(E e)及addLast(E e)

public E getFirst()及getLast()

public E removeFirst()及public E removeLast()

Vector

底層數(shù)據(jù)結(jié)構(gòu)是也是數(shù)組补鼻,查詢快,增刪慢.

線程安全风范,效率低.

Vector類特有功能:

public void addElement(E obj)

public E elementAt(int index)

public Enumeration elements()

2, Set接口(繼承Connection)

Set是一個不包含重復(fù)元素的 collection。Set中最常被使用的是測試歸屬性硼婿,你可以很容易的查詢某個對象是否在其中。正因如此寇漫,查找成了set中的重要操作刊殉,因此你通常都會選擇一個HashSet實現(xiàn)记焊,它專門進行了優(yōu)化。

Set具有與Collection完全一樣的接口栓撞,因此沒有任何額外的功能,不像List一樣有不同的list瓤湘。實際上Set就是Collection,只是行為不同弛说。加入Set的元素必須定義equals方法以確保對象的唯一性

HashSet:為快速查找而設(shè)計的Set。存入HashSet的元素必須定義hashCode()方法,不保證set的迭代順序,特別是它不保證該順序恒久不變木人。

HashSet如何保證元素唯一性?底層數(shù)據(jù)結(jié)構(gòu)是哈希表(元素是鏈表的數(shù)組)哈希表依賴于哈希值存儲添加功能底層依賴兩個方法: int hashCode()

boolean equals(Object obj)

LinkedHashSet:具有HashSet的查詢速度猎物,且內(nèi)部使用鏈表維護元素的順序(插入的次序)角塑。于是在使用迭代器遍歷Set時,結(jié)果會按元素插入的次序顯示圃伶。元素也必須定義hashCode()方法

元素有序唯一

由鏈表保證元素有序

由哈希表保證元素唯一

TreeSet:保持次序的set,底層為樹結(jié)構(gòu)窒朋。使用它可以從set中提取有序的序列。元素必須實現(xiàn)Comparable接口侥猩。

使用元素的自然順序?qū)υ剡M行排序

或者根據(jù)創(chuàng)建 set 時提供的 Comparator 進行排序

具體取決于使用的構(gòu)造方法。

必須提的一點:TreeSet是如何保證元素的排序和唯一性的欺劳?

底層數(shù)據(jù)結(jié)構(gòu)是紅黑樹(紅黑樹是一種自平衡的二叉樹)!

各種set集合性能分析

HashSet和TreeSet是Set集合中用得最多的集合划提。HashSet總是比TreeSet集合性能好,因為HashSet不需要額外維護元素的順序鹏往。

LinkedHashSet需要用額外的鏈表維護元素的插入順序,因此在插入時性能比HashSet低伊履,但在迭代訪問(遍歷)時性能更高韩容。因為插入的時候即要計算hashCode又要維護鏈表群凶,而遍歷的時候只需要按鏈表來訪問元素。

EnumSet元素是所有Set元素中性能最好的座掘,但是它只能保存Enum類型的元素

3, Queue接口

Queue隊列,它主要分為兩大類柔滔,一類是阻塞式隊列,隊列滿了以后再插入元素則會拋出異常睛廊,主要包括ArrayBlockQueue、PriorityBlockingQueue咆霜、LinkedBlockingQueue。另一類則是雙端隊列光酣,支持在頭救军、尾兩端插入和移除元素,主要包括:ArrayDeque唱遭、LinkedBlockingDeque、

****LinkedList拷泽。

Queue用于模擬隊列這種數(shù)據(jù)結(jié)構(gòu),隊列通常是指“先進先出”的容器司致。隊列的頭部保存在隊列中時間最長的元素,隊列的尾部 保存在隊列中時間最短的元素虏辫。新元素插入到隊列的尾部锈拨,訪問元素操作會返回隊列頭部的元素。通常奕枢,隊列不允許隨機訪問隊列中的元素。

Queue接口中定義了如下操作方法:

void add(Object e): 將指定元素加入此隊列的尾部缝彬。

Object element(): 獲取隊列頭部的元素,但是不刪除該元素谷浅。

boolean offer(Object e): 將指定元素加入此隊列的尾部扒俯。當(dāng)使用有容量限制的隊列時撼玄,此方法通常比add(Object e)方法更好。

Object peek(): 獲取隊列頭部的元素墩邀,但是不刪除該元素。如果此隊列為空眉睹,則返回null废膘。

Object poll(): 獲取隊列頭部的元素慕蔚,并刪除該元素。如果此隊列為空孔飒,則返回null。

Object remove(): 獲取隊列頭部的元素十偶,并刪除該元素。

Queue有兩個常用的實現(xiàn)類:LinkedList和PriorityQueue惦积。

LinkedList類 是一個比較奇怪的類,它是List接口的實現(xiàn)類–這意味著它是一個List集合狮崩,可以根據(jù)索引來隨機訪問集合中的元素蛛勉。除此之外诽凌,LinkedList還實現(xiàn)了Deque接口,Deque接口是Queue接口的子接口坦敌,它代表一個雙向隊列Deque接口里定義了一些可以雙向操作隊列的方法。

LinkedList與ArrayList的實現(xiàn)機制完全不同狱窘,ArrayList內(nèi)部以數(shù)組的形式來保存集合中的元素,因此隨機訪問集合元素上有較好的性能蘸炸;而LinkedList內(nèi)部以鏈表的形式來保存集合中的元素,因此隨機訪問集合元素時性能較差搭儒,但在插入、刪除元素時性能非常出色(只需改變指針所指的地址即可)淹禾。

通常的編程過程中無須理會ArrayList和LinkedList之間的性能差異,只需知道LinkedList集合不僅提供了List的

功能稀拐,還額外提供了的雙向隊列、棧的功能。但在一些性能非常敏感的地方铲咨,可能需要慎重選擇哪個List實現(xiàn)。

4, Map接口(實現(xiàn)Connection)

Map的思想纤勒,映射表(也可以稱為關(guān)聯(lián)數(shù)組)的基本思想是它維護的鍵-值(對)關(guān)聯(lián),因此你可以使用鍵來查找值摇天。標準的Java類庫中包含了Map的集中基本實現(xiàn)類,包括HashMap泉坐,TreeMap、LinkedHashMap腕让、WeakHashMap,ConcurrentHashMap纯丸、IdentityHashMap偏形。它們都有同樣的基本接口Map俊扭,但是行為特效各不同,這表現(xiàn)在效率坠陈、鍵值對的保存及呈現(xiàn)次序、對象的保存周期畅姊、映射表如何在多線程程序中工作和判定“鍵”等價的策略等方面吹由。Map接口實現(xiàn)的數(shù)量應(yīng)該可以讓你感覺到這種工具的重要性。

Map接口成員方法:

V put(K key,V value)

V remove(Object key)

void clear()

boolean containsKey(Object key)

boolean containsValue(Object value)

boolean isEmpty()

int size()

V get(Object key)

Set keySet()

Collection values()

Set<Map.Entry<K,V>> entrySet()

這里提一下Map的遍歷方式吧:

方式1:根據(jù)鍵找值

獲取所有鍵的集合

遍歷鍵的集合倾鲫,獲取到每一個鍵

根據(jù)鍵找值

方式2:根據(jù)鍵值對對象找鍵和值

獲取所有鍵值對對象的集合

遍歷鍵值對對象的集合,獲取到每一個鍵值對對象

根據(jù)鍵值對對象找鍵和值

HashMap:Map基于散列表的實現(xiàn)(它取代 了Hashtable)乌昔。插入和查詢“鍵值對”的開銷是固定的】牡溃可以通過構(gòu)造器設(shè)置容器和負載因子,以調(diào)整容器的性能。

LinkedHashMap:類似于HashMap伶丐,但是迭代遍歷它時,取得“鍵值對”的順序是其插入次序哗魂,或者是最近最少使用的(LRU)的次序。只是比HashMap慢一點录别,而在迭代訪問時,反而更快组题,因為它使用鏈表維護內(nèi)部次序。

TreeMap:基于紅黑樹的實現(xiàn)崔列,查看“鍵”或“鍵值對”時,它們會被排序(次序由Comparable或Comparator決定)峻呕。TreeMap的特點在于所得到的結(jié)果是經(jīng)過排序的。TreeMap是唯一帶有subMap()方法的Map瘦癌,它可以返回一個子樹

WeakHashMap:弱鍵(weak key)映射,允許釋放映射所指向的對象讯私,這是為解決某類特殊問題而設(shè)計的热押。如果映射之外沒有引用指向某個“鍵”桶癣,則此鍵可以被垃圾回收器回收。

ConcurrentHashMap:一種線程安全的Map娘锁,它不涉及加同步鎖。

IdentityHashMap:使用==代替equals()對“鍵”進行比較的散列映射莫秆。專為解決特殊問題而設(shè)計的。

既然談到了HashMap那么就來總結(jié)一下與Hashtable的不同镊屎,最直觀的方法,看其底層實現(xiàn)的源碼缝驳。

1.它們的家族就不同归苍,雖然都實現(xiàn)了Map接口,但HashMap是繼承自AbstractMap霜医,Hashtable繼承自古老的Dictionary

2.HashMap是允許key為null的,而Hashtbale是不允許的

3.在Hashtable的源碼里肴敛,一眼我們就能看到一個關(guān)鍵字 -----synchronized ,所以其是線程同步的医男,HashMap不是線程同步的,所以效率會高上一些,簡而言之镀梭,HashMap是Hashtable的輕量級實現(xiàn)(非線程安全實現(xiàn))

最大的不同是,Hashtable的方法是Synchronize的踱启,而HashMap不是,在多個線程訪問Hashtable時埠偿,不需要自己為它的方法實現(xiàn)同步,而HashMap 就必須為之提供外同步(Collections.synchronizedMap)冠蒋。

二、各種集合的異同點

1抖剿、Vector和ArrayList

1,vector是線程同步的斩郎,所以它也是線程安全的,而arraylist是線程異步的缩宜,是不安全的。如果不考慮到線程的安全因素脓恕,一般用arraylist效率比較高膜宋。

2炼幔,如果集合中的元素的數(shù)目大于目前集合數(shù)組的長度時乃秀,vector增長率為目前數(shù)組長度的100%,而arraylist增長率為目前數(shù)組長度的50%.如果在集合中使用數(shù)據(jù)量比較大的數(shù)據(jù)肛著,用vector有一定的優(yōu)勢跺讯。

3,如果查找一個指定位置的數(shù)據(jù)刀脏,vector和arraylist使用的時間是相同的,都是0(1),這個時候使用vector和arraylist都可以愈污。而如果移動一個指定位置的數(shù)據(jù)花費的時間為0(n-i)n為總長度耀态,這個時候就應(yīng)該考慮到使用arraylist,因為它移動一個指定位置的數(shù)據(jù)所花費的時間為0(1),而查詢一個指定位置的數(shù)據(jù)時花費的時間為0(i)首装。

ArrayList 和Vector是采用數(shù)組方式存儲數(shù)據(jù),此數(shù)組元素數(shù)大于實際存儲的數(shù)據(jù)以便增加和插入元素杭跪,都允許直接序號索引元素,但是插入數(shù)據(jù)要涉及到數(shù)組元素移動等內(nèi)存操作涧尿,所以索引數(shù)據(jù)快插入數(shù)據(jù)慢,Vector由于使用了synchronized方法(線程安全)所以性能上比ArrayList要差姑廉,LinkedList使用雙向鏈表實現(xiàn)存儲,按序號索引數(shù)據(jù)需要進行向前或向后遍歷庄蹋,但是插入數(shù)據(jù)時只需要記錄本項的前后項即可,所以插入數(shù)度較快限书!

2虫蝶、Aarraylist和Linkedlist

1.ArrayList是實現(xiàn)了基于動態(tài)數(shù)組的數(shù)據(jù)結(jié)構(gòu)能真,LinkedList基于鏈表的數(shù)據(jù)結(jié)構(gòu)。

2.對于隨機訪問get和set扰柠,ArrayList絕對優(yōu)于LinkedList,因為LinkedList要移動指針卤档。

3.對于新增和刪除操作add和remove,LinkedList比較占優(yōu)勢劝枣,因為ArrayList要移動數(shù)據(jù)织鲸。

這一點要看實際情況的。若只對單條數(shù)據(jù)插入或刪除搂擦,ArrayList的速度反而優(yōu)于LinkedList。但若是批量隨機的插入刪除數(shù)據(jù)哗脖,LinkedList的速度大大優(yōu)于ArrayList. 因為ArrayList每插入一條數(shù)據(jù),要移動插入點及之后的所有數(shù)據(jù)才避。

3、HashMap與TreeMap

1工扎、 HashMap通過hashcode對其內(nèi)容進行快速查找,而TreeMap中所有的元素都保持著某種固定的順序肢娘,如果你需要得到一個有序的結(jié)果你就應(yīng)該使用TreeMap(HashMap中元素的排列順序是不固定的)。集合框架”提供兩種常規(guī)的Map實現(xiàn):HashMap和TreeMap (TreeMap實現(xiàn)SortedMap接口)橱健。

2、在Map 中插入拘荡、刪除和定位元素臼节,HashMap 是最好的選擇网缝。但如果您要按自然順序或自定義順序遍歷鍵,那么TreeMap會更好蟋定。使用HashMap要求添加的鍵類明確定義了hashCode()和 equals()的實現(xiàn)。 TreeMap沒有這個調(diào)優(yōu)選項驶兜,因為該樹總處于平衡狀態(tài)。

4抄淑、hashtable與hashmap

1、歷史原因:Hashtable是基于陳舊的Dictionary類的肆资,HashMap是Java 1.2引進的Map接口的一個實現(xiàn) 矗愧。

2贱枣、同步性:Hashtable是線程安全的监署,也就是說是同步的纽哥,而HashMap是線程序不安全的,不是同步的 春塌。

3、值:只有HashMap可以讓你將空值作為一個表的條目的key或value 簇捍。

hashmap原理:數(shù)組+鏈表(1.8之后:鏈長超過8時將鏈表轉(zhuǎn)換成紅黑樹前會判斷,如果當(dāng)前數(shù)組的長度小于 64暑塑,那么會選擇先進行數(shù)組擴容,而不是轉(zhuǎn)換為紅黑樹)時事格,將鏈表轉(zhuǎn)化為紅黑樹,以減少搜索時間驹愚。Hashtable 沒有這樣的機制.

hashTable原理: 數(shù)組+鏈表,HashTable 是線程安全的,因為 HashTable 內(nèi)部的方法基本都經(jīng)過synchronized 修飾逢捺。

concurrenthashmap:jdk1.7:分組數(shù)組+鏈表(**** ① 在 JDK1.7 的時候,ConcurrentHashMap(分段鎖) 對整個桶數(shù)組進行了分割分段(Segment)劫瞳,每一把鎖只鎖容器其中一部分數(shù)據(jù)倘潜,多線程訪問容器里不同數(shù)據(jù)段的數(shù)據(jù)涮因,就不會存在鎖競爭,提高并發(fā)訪問率恨憎。 到了 JDK1.8 的時候已經(jīng)摒棄了 Segment 的概念,而是直接用 Node 數(shù)組+鏈表+紅黑樹的數(shù)據(jù)結(jié)構(gòu)來實現(xiàn)憔恳,并發(fā)控制使用 synchronized 和 CAS 來操作。)

6. Linux命令

常用命令:

cd 進入目錄

chmod 777 授權(quán)所有權(quán)限

./start.sh 運行

查看log(日志)的操作

cd ./XXXXX/log/catXXX.log

tail -f XXX.log 從下往上滾的查看

cat -n "日志名稱" | grep "要查詢的錯誤"

7. springboot的常用注解

springboot核心注解:

@SpringBootApplication= @SpringBootConfiguration+@EnableAutoConfiguration+@ComponentScan

:開啟Springboot各項功能

**@EnableAutoConfiguration:允許自動配置注解 **

@SpringBootConfiguration

這個注解就是 @Configuration 注解的變體输硝,只是用來修飾是 Spring Boot 配置而已,或者可利于 Spring Boot 后續(xù)的擴展点把。

@ComponentScan

這是 Spring 3.1 添加的一個注解橘荠,用來代替配置文件中的 component-scan 配置郎逃,開啟組件掃描,即自動掃描包路徑下的 @Component 注解進行注冊 bean 實例到 context 中褒翰。

8.springboot打包的方式有哪些,區(qū)別是,如果只是把主類打包怎么加依賴

springboot打jar包有兩種方式:

1.通過Maven插件,將所有依賴都打成一個jar包,然后通過java -jar XXX.jar方式運行

2.將主程序打成jar包,然后和其他依賴包放在一起(包括Maven下載的和第三方j(luò)ar包),這樣也可以通過java -jar xxx.jar方式運行

jar方式運行的前提是主程序jar包中的META-INF文件夾下的MANIFEST.MF文件必須有正確的Class-Path、Main-Class优训。

Class-Path指定了主程序依賴的jar包,若配置錯誤揣非,運行jar時將報ClassNotFoundException;若新增或刪除了一些jar包早敬,需要刪除該文件忌傻,并重新生成搁嗓。

Main-Class指定了程序的運行入口,這里配置成SpringBoot的主函數(shù)腺逛。

MANIFEST.MF文件若配置不當(dāng),運行jar時將報xxxxxx.jar中沒有主清單屬性棍矛。

詳情可點擊搜看

........

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市够委,隨后出現(xiàn)的幾起案子荐类,更是在濱河造成了極大的恐慌茁帽,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,919評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件潘拨,死亡現(xiàn)場離奇詭異,居然都是意外死亡铁追,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,567評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來扭屁,“玉大人,你說我怎么就攤上這事料滥。” “怎么了幔欧?”我有些...
    開封第一講書人閱讀 163,316評論 0 353
  • 文/不壞的土叔 我叫張陵丽声,是天一觀的道長。 經(jīng)常有香客問我雁社,道長,這世上最難降的妖魔是什么霉撵? 我笑而不...
    開封第一講書人閱讀 58,294評論 1 292
  • 正文 為了忘掉前任磺浙,我火速辦了婚禮徒坡,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘喇完。我一直安慰自己,他們只是感情好锦溪,可當(dāng)我...
    茶點故事閱讀 67,318評論 6 390
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著刻诊,像睡著了一般。 火紅的嫁衣襯著肌膚如雪则涯。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,245評論 1 299
  • 那天粟判,我揣著相機與錄音,去河邊找鬼浮入。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的彤断。 我是一名探鬼主播,決...
    沈念sama閱讀 40,120評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼宰衙,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了供炼?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,964評論 0 275
  • 序言:老撾萬榮一對情侶失蹤袋哼,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后涛贯,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,376評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡弟翘,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,592評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了稀余。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,764評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡盒蟆,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出掸掏,到底是詐尸還是另有隱情,我是刑警寧澤丧凤,帶...
    沈念sama閱讀 35,460評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站愿待,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏仍侥。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,070評論 3 327
  • 文/蒙蒙 一农渊、第九天 我趴在偏房一處隱蔽的房頂上張望患蹂。 院中可真熱鬧,春花似錦囱挑、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,697評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽通熄。三九已至,卻和暖如春找都,著一層夾襖步出監(jiān)牢的瞬間唇辨,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,846評論 1 269
  • 我被黑心中介騙來泰國打工助泽, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留嚎京,地道東北人隐解。 一個月前我還...
    沈念sama閱讀 47,819評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像煞茫,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子续徽,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,665評論 2 354