原创 共享單車Android面試回憶

今天一個朋友分享了一下他前端時間去某單車公司面試資深安卓工程師崗位的經歷。因爲他也是通過朋友內推,所以並沒有給他定是什麼級別。一共經歷了三輪技術面試,第一輪是一個高級工程師,第二輪是資深,最後一輪是一個技術manager.。下面就是各輪

原创 Leetcode第1題: 快速查找數組中“和”爲X的兩個數

題目快速判斷在一個數組中,是否存在兩個數字,讓這兩個數字之和等於一個給定的值 X 以數組num[] = {11, 15, 6, 8, 9, 10}爲例:當x = 16時, 存在兩個數字的和爲16: (6, 10) 輸出: true 當x

原创 樹(Tree)簡介

計算機科學中,樹(Tree)是將一組被稱爲結點(Node)的元素按照層次結構的方式組織而成。在這個層次結構最頂端的結點稱爲根, 與根直接相連的結點稱爲根的子結點。通常子節點本身也可以擁有屬於它們自己的子結點,而將這些子結點鏈接起來的叫做

原创 Flutter使用Stream更新Widget UI

通過之前的兩節課,相信你應該已經掌握了Stream的使用。這節課我們來看下如何使用在Flutter中使用Stream來更新Widget UI。 不過在這之前,我們可以先看下Flutter常規刷新界面的操作,通過對比我們能瞭解Str

原创 如何使用Dart的Stream(二)

上一章主要介紹了什麼是 Stream以及如何通過StreamController來間接實現Stream的交互。最後介紹了Stream的兩種類型。 這一章主要介紹如何在Stream中的常用方法,根據功能我將Stream中的方法分爲以

原创 Java虛擬機究竟是如何處理SoftReference的

但凡是寫過幾行java代碼的,都知道java中的引用分爲4種:強引用、軟引用、弱引用、虛引用。 其中廣大開發者最熱衷的莫過於 軟引用 了。因爲它能保證在內存足夠時,我們創建的對象完好的存活在內存中。同時當內存不足時,則將軟引用指向

原创 提升算法數據結構的幾個網站

與同事之間的一段對話,搞得我的小心臟又是撲通撲通的。最起碼證明自己堅持在算法這條路上還是有意義的。 平復心情,決定還是寫一篇我自己感覺比較好用的幾個提升算法技能網站,也當做是做一下自我總結。 學習算法可能會遇到的障礙 有時候我

原创 一個 int 值,只能表示一個數值嗎?

正常情況下一個 int 就是代表一個數值,或者一種狀態。但是Google和Oracle的工程師似乎特別喜歡用1個 int 類型來表示多種狀態,源碼中到處都能看到這種使用方式。線程池ThreadPoolExecutor中的 ctl定義線程

原创 如何寫一個完美的單例類

設計模式在軟件開發中一直是一個非常熱門的話題。通常來說,設計模式是一種解決某一類軟件開發問題的解決方案。而這篇文章所講的單例模式就是創建型模式中的一種。單例模式的目的單例模式的主要目的是限制對象的創建操作,從而保證在JVM內存中有且只有

原创 鏈表插入操作的時間複雜度真的是O(1)嗎?

提起鏈表,很多人可能都會知道它的優勢就是能夠快速插入、刪除數據。但是往鏈表中插入數據的時間複雜度真的是O(1)嗎?相信看完這篇文章,讀者會有自己的答案了。爲什麼用一節來講解鏈表代碼實現 ?1. 鏈表的代碼量雖然不多,但是其中充滿了大量的

原创 時間複雜度分析(二)--常見時間複雜度

之前我介紹了大O時間複雜度的由來和表示方式(算法時間複雜度分析(一)), 最後介紹了幾個分析大O時間複雜度的簡單規則。這一篇介紹一些平時開發中經常會遇到的時間複雜度。在我們實際開發過程中,我們去實現某一個需求的代碼或者算法千差萬別,但是

原创 安利一波Flutter

"一套代碼,多平臺運行"一直是當今互聯網喊得比較響亮的口號。各種跨平臺方案也是如雨後春筍般湧現,比如H5,Week等。其中最經典的莫過於React Native。但是,由於 React Native 的技術方案所限,使用原生控件承載界面

原创 如何使用Dart的Stream(一)

Stream 誕生 2018年,谷歌推出了Dart中最重要的一個特性-- Stream。官方對其介紹是: Widgets + Streams = Reactive Flutter App 簡單來說就是,Stream被創建的初衷

原创 GreenDao在Android項目中的實踐總結

文章目錄:1 GreenDao 基本使用2 GreenDao 多表之間的關聯3 GreenDao 保存List 類型數據4 GreenDao 版本升級基本使用1 引入GreenDao在project的build.gradle中引入Gre

原创 Flutter踩坑記錄之setState

這篇文章主要受以下這篇文章的啓發: How to refresh the content of a Dialog via setState? 在上面鏈接中的這篇文章中,主要介紹了在Flutter中使用setState刷新Dialo