摸底產品新人的能力怎么樣,一個基礎問題就夠了
編輯導讀:在面試產品新人的時候,你通常會準備什么樣的面試問題。注冊登錄系統作為產品的基礎系統,是很適合考驗新人設計邏輯的問題。本文作者對此進行了解讀,一起來看看吧。
不管你使用哪一個app,你想要使用核心功能都必須先注冊/登錄,不知道你有沒有思考過注冊登錄系統的設計邏輯,別看這個部分很基礎,但其實也是有點學問的。一個新入行的產品還真是不一定都能完整的考慮到。
如果你想看一下新人產品的水平怎么樣,我覺得用這個問題其實就可以進行摸底——我們假定現在你要做一個新的app,注冊登錄系統你準備怎么設計?
這是包含了注冊+登錄+找回密碼三個子系統的一個基礎型系統。新人要回答的完整其實也不容易,我們來看看這個最基礎的系統,包含了哪些細節。
我們先聊聊注冊的環節。
如果大家回想一下的話,市面上主流的注冊方式大概就是幾個:短信驗證碼登錄、密碼注冊和三方賬號授權聯登,我們一一來聊一下。
短信驗證碼登錄,這是當前最普遍采用的。
每次登錄的時候都使用手機號+短信驗證碼登錄,不區分是否首次登錄。
但也有幾個細節需要關注一下:
1、短信驗證碼的觸發是否需要圖片驗證碼加以驗證,來區分對方是不是真人。
這是為了防止受到惡意攻擊,一般來說這是一個提高系統安全性的措施,但是對于用戶并不友好,我之前碰到過,有的圖片驗證碼很難辨認,所以經常會輸入錯誤,這會導致用戶負擔加重和用戶體驗下降,理論上這就是把系統安全的一部分校驗成本轉嫁給了用戶,如果你的app不是對黃牛有利可圖或者可能涉及到用戶的資金安全和敏感信息安全的話建議不要加這個東西,對中老年用戶尤其不友好;
這個圖片驗證碼可以設計成一個臨時提高安全性的設計,后系統層面控制,如果受到攻擊則打開權限。當然這個設計根據app類型和用戶體量來看要不要設計,早期可以不設計。
圖片驗證碼的類型也很多,譬如是看圖片輸入驗證碼、滑動拼圖、按順序點擊、選指定的物品圖形等等,都可以,看你喜歡,考慮一下用戶負擔就行。
2、短信驗證碼的觸發間隔,主流是60秒的設計。
這個設計是為了解決用戶在APP上反復點擊獲取驗證碼的問題,一般來說用戶點了一次,驗證碼不會馬上收到,等個幾秒是正常的,時間長的話甚至要幾十秒,但是用戶耐心差,如果不加限制就會反復點擊,增加平臺成本。
這里需要注意一個小細節,很多時候用戶會輸錯手機號,那么重新輸入之后,獲取驗證碼是不是需要等前面那個倒計時結束才可以,還是檢測到變化就變更為可點擊,這是個很小的細節,但是也是會影響用戶體驗;
3、短信驗證碼的位數長度和有效時間長度,位數長度是4位或6位,有效時間長度不超過5分鐘。
位數長度從安全層面來說6位肯定優于4位,破解概率更小。從目前的已知信息來看,4位也夠用,破解的話也需要超過10分鐘的時間,所以安全性尚可。當然如果是近距離攔截的話兩者無差別。
所以總的來說在實際應用中4位或者6位差別不大,都可以。真要說的話建議是6位,用戶感知上更加安全一點。不要設計成其他位數,增加用戶上手的成本。
有效時間長度的話不宜超過5分鐘,一般是3分鐘或者5分鐘,也不要搞成1分鐘,有時候用戶可能耽擱一下就過去了,這個不好。短信驗證碼的設計本身就是為了安全,所以一個驗證碼的有效時間絕對不能過長。
在使用短信驗證碼注冊的情況下,有的平臺還是會要求用戶設置密碼,如果能跳過呢,我理解是平臺想省點錢,畢竟設置密碼以后有部分用戶是會選擇用密碼登錄的。但如果不能跳過那就是產品經理設計不合理,用戶都已經選擇用驗證碼了還必須設置密碼,那么你上來直接告訴用戶設置密碼不行嗎?我知道部分平臺在設置密碼的時候也會要求輸入短信驗證碼,但這個做法的目的是為了驗證手機號是本人在使用,兩者的目的和用戶感知是完全不一樣的,不能因為元素一樣就認為是一樣的。
4、短信驗證碼收到之后是不是自動填充的問題,安卓手機是可以監控短信內容的,收到驗證碼之后可以識別出驗證碼并填入,填入之后就會自動完成注冊登錄,這樣的話體驗就很好。
但是要不要加這個東西我覺得你要斟酌,首先是合規的問題,用戶有沒有授權,如果沒有的話你這就屬于違規行為,很容易被舉報和處罰,以后這方面會越來越嚴謹。其次是現在的用戶都很注意隱私保護,如果你自動填充,部分用戶會認為你惡意監控短信信息,可能會棄用。所以還是斟酌一下,其實我認為即便讓用戶手動輸入驗證碼也不會有什么流失,畢竟哪有app不需要輸入驗證碼的,用戶的操作成本也不高。不加你的合規風險和用戶的自我保護問題就沒有了,加了反而有點問題。
5、使用手機號驗證碼登錄還有一個非常麻煩的問題,那就是用戶如果更換手機號了怎么處理。目前市面上絕大部分平臺是沒有針對這種情況做任何流程設計的,主要是現在更換手機號的用戶沒有那么多了。但一旦用戶遇到,對應的用戶就會覺得很難受,因為幾個月以后這部分數據就存在泄露的風險。
體量不大你可以不設計,占比小絕對值也小,體量大的話還是要設計的,占比小但絕對值大,你可以增加一個手機號變更的入口,提示用戶通過線下的方式聯系你們進行修改。
短信驗證碼登錄現在還有一個普遍使用的更優解,那就是運營商授權校驗登錄,你經??吹降摹臼褂帽臼謾C號一鍵登錄】就是這個功能,用戶體驗更好一點,成本的話差不多的。但這個功能成功率不是很穩定,需要你考慮登錄不成功的情況。
密碼注冊,這個方式也還是比較常見的,因為有部分用戶還是習慣使用密碼。
密碼注冊是PC時代的遺留產物,這種方式也成功的延續到現在了?,F在的話一般是郵箱、手機號、身份證三種方式的一種,看情況,不太建議用郵箱了,因為用郵箱注冊還要校驗郵箱的有效性,操作復雜,體驗不好。身份證號注冊如果不是政府類APP就還是別用了,身份證號太敏感,用戶一般不愿意。
密碼注冊的話一般是關注兩個問題:
1、設置密碼時手機號是否做短信驗證碼校驗,這是為了驗證手機號是本人在使用,不是被盜用,建議是加一個;
2、密碼的長度和類型,長度的話一般是6-15位,類型的話是特殊字符+數字+大小寫字母都可以,這個的話主要考慮app的性質,如果是對于安全性要求高的就可以對位數和字符類型要求高一點,常規的app會提示密碼強度,但是不會強制要求,有些app就要求很高,譬如個稅app,要求特殊字符+數字+大小寫字母都要有,位數不低于8位。通常來說這種設計安全是安全,但是用戶記不住,我就記不住,每次都重置密碼。
平衡好安全性和用戶體驗,個稅app能這么做是因為使用頻率低+必須要用,一般的app沒有這么剛的。
三方賬號授權聯登,這現在也比較常見。
這種方式主要是巨頭們為了鞏固自己的生態,把自己旗下的app盡量串在一起。譬如淘寶系的app都可以使用淘寶賬號或者支付寶賬號登錄,點擊授權就行。騰訊系也是一樣的,可以使用微信賬號或者QQ賬號登錄。
有的時候還是強制性的,譬如知識星球就只能用微信登錄。這是巨頭們的一種競爭策略。
當然還有一些情況是強社交關系的app為了獲取關系鏈而引導用戶使用微信或者QQ登錄,這就看app了。
我要特別說一下一種非常不友好的設計,我就遇到過。當用戶選擇使用社交賬號授權登錄之后,發現還是需要用手機號+驗證碼進行驗證,這種設計真是垃圾設計。
我理解大概是為了規避同一個用戶有多個賬號的問題,也可能是為了獲取用戶手機號,不管是哪一種,你為啥不直接驗證手機號?為什么不降低用戶的使用成本?不要為了設計而設計,先授權后手機號驗證用戶體驗差的一塌糊涂,我遇到之后就馬上棄用了,一個登錄都不顧及用戶體驗的app,我還能指望它的核心功能會有好的用戶體驗?產品人不應該犯這種錯誤。
注冊方式大概就這么些,那么怎么選?
小孩子才做選擇,成年人都想要。
考慮到用戶的使用習慣,短信驗證碼+密碼登錄基本是必備的,部分app還會在底部加社交賬號聯登的入口,這就看你的選擇了,如果不是想要引導加入用戶的社交關系,那么不加比加好,加了就意味著賬號體系的復雜程度增加了,維護起來也麻煩,后續如果想要砍掉就更麻煩,所以做多做不如少做,有些時候給用戶更多選擇不一定就是好的。
接下去我們聊聊登錄的部分。
登錄是建立在注冊的基礎上的,所以要結合注冊來看。如果是短信驗證碼注冊和其他賬號授權聯登其實不存在登錄怎么處理的問題,還是一樣的方式。所以我們就談一談密碼登錄的問題。
首先是登錄安全的問題。大部分app都會關注登錄的設備和IP地址是否發生變化的問題,譬如你換了一臺新的手機,這個時候設備號就變了,這樣一來為了規避賬號被盜的問題,會要求先進行手機號驗證,證明是本人在使用。
但這個設計其實并不是一個完全有效的設計,因為如果手機丟了的話,其他人取出sim卡是可以繞過這個設計的,它只能解決別人惡意盜用你賬號的問題。說到這里我就建議大家都設置一下sim卡的pin碼密碼,這樣即便手機號丟了一般人也用不了,安全性也更強一點。
IP地址變化也是一樣的道理,但IP變化不一定是賬號被盜,從現實來說可能是出差或者旅游等等,所以安全提醒會弱很多,你可能會收到一條提醒短信或者下次登錄的時候報一個異常登錄,提醒你注意賬號安全。
其次是賬號安全的問題,一般金融類app都會要求用戶每次都重新登錄,或者在固定時間后強制用戶重新登錄,銀行類app最常見了,5分鐘不使用你再用就得重新登錄,這是為了最大程度保護你的資金安全。
所以需要看你的APP是什么性質的,如果和錢、個人敏感信息無關的話就可以不用設置這么嚴謹的限制,但也最好不要處理成永久有效,你可以處理成30天有效之類的。
有的app是混合型的,像微信和支付寶,既有常規的功能也有資金相關的功能,這樣的話就需要分級處理,在進入資金賬戶時再加一道密碼,每次進入或者使用都需要輸入密碼,確保資金安全。
5分鐘登一次或者每次都登,安全是安全了,但是用戶體驗不好,所以一般來說平臺都會在用戶注冊或者再次登錄時反復引導用戶設置手勢密碼解鎖、指紋解鎖或者人臉識別解鎖。這樣安全性和便捷性可以兼顧。
我特別說一下,目前已經有人臉識別系統被黑產的技術攻破的案例,所以即便是業內認為安全等級較高的人臉識別技術也不是完全安全的了,大家在自己使用人臉識別技術的時候還是要注意一下。
最后說一下密碼錯誤如何處理的問題,這里面包含了設密碼輸入錯誤、手勢密碼錯誤、指紋識別錯誤、人臉識別錯誤。
常規來說允許用戶輸入5次就可以,一般5次都錯,那么即便是多輸入幾次也是錯,設置成5次可以有效的規避賬號被攻擊的問題。
關鍵的是如果5次都錯了,那要怎么處理。有兩種方式:一種是鎖定固定時間后自動解鎖;一種是永久鎖定,需要人工解鎖。
app賬號對于安全性要求沒有那么高的話可以選鎖定24小時后自動解鎖,解鎖的時間不要太短,讓用戶有個記憶點。
app賬號對于安全性要求高的話就要永久鎖定,然后人工解鎖??梢宰層脩袈撓悼头怄i,注意提前設計好驗證身份的方式。也可以讓用戶通過特殊的方式自行解鎖,譬如選擇地址或者瀏覽過的內容、關注過的用戶等等。特殊流程解鎖的話成本可控一點。
接下去我們談一談找回密碼的部分。
這個部分和登錄的邏輯是類似的,也只需要談密碼登錄就行。
一般來說找回密碼分為兩個步驟,一個是驗證身份,一個是設置新密碼。
驗證身份有很多種方式,早期PC互聯網的時候是回答問題,后來就變成了郵箱驗證,到移動互聯網的時候就變成了手機號驗證,當然更進一步的有像微信這種需要好友發消息進行驗證的,我記得淘寶好像是選擇地址或者最近購買過的商品進行驗證,都很不錯。
驗證的方式可以根據自己的app內容進行處理,常規的app其實手機號驗證就夠了。如果是涉及資金賬戶的話,還需要加上輸入身份證信息進行校驗。
再接下去就是賬號注銷的問題。
對于一個平臺來說肯定不希望用戶注銷賬號,但是這在邏輯上和法規上是不允許,所以必然還是要設計注銷功能。這個的話簡單做個短信驗證碼驗證或者密碼就行。
額外說一下,如果用戶注銷賬號,按照合規性的要求,用戶數據是要刪除的,但是我估計大部分小公司都是不遵守的,所以在設計的時候就要考慮二次注冊的時候歷史數據怎么處理的問題。
最后,我談一談這背后的賬號體系設計。
不管是用哪一種方式進行的注冊,都表示背后有一個真實的用戶存在,那么對應到數據庫就涉及到整個數據庫的各類數據表是通過什么要素相互關聯的問題了。
首先當然是會有一個用戶ID,這個ID一般是內部使用的,但是對于業務部門來說用用戶ID是不合適的,大家的習慣是用郵箱賬號、手機號或者身份證號來進行用戶身份的說明,符合日常生活的習慣,用戶ID最多就是在產品和技術進行流通。
舉個例子,有個用戶遇到問題,聯系客服進行反饋,這個時候客服肯定是問用戶手機號是多少,而不會問用戶你的用戶ID是多少,問了的話用戶都不知道要如何回答。
所以在進行設計的時候,盡量用郵箱賬號、手機號或者身份證號做為主key進行關聯,關聯用戶的個人信息、行為信息、交易信息、發布信息等等。用其中一個就行,最好是手機號或者身份證號,如果沒有歷史遺留用戶問題的話在前端就不要設計郵箱登錄的方式,方便后續進行數據存儲和管理。
這種情況其實就是把手機號/身份證號和用戶畫上等號,一般來說問題不大的。
如果在設計app端注冊方式的時候允許用戶使用三方賬號登錄,那么就涉及到一個問題,用什么做主key關聯各種數據,由于三方賬號只是用戶的一個屬性,所以這種情況下就只能使用用戶ID進行關聯,也就是說在查詢的時候需要先根據三方賬號查出用戶ID,在根據用戶ID查詢用戶數據,其實管理和使用的時候不是很方便。
所以其實如果不是社交類app我是不建議使用三方賬號授權登錄的方式的,沒啥特別的作用。
總結
你看,說起來是很簡單的注冊登錄系統,但是其實里面還是有很多需要關注的細節,我啰啰嗦嗦也寫了5000字。
注冊登錄系統對于一個產品經理的基礎能力的考驗和判斷是一目了然的,一個新入行的產品經理基礎老不牢靠,用這個問題一問就清楚了。所以不要小看基礎和簡單的東西,簡單的會了,復雜的才能做的好。
我今天的分享就這么多,希望對你有個啟發。
如果覺得不錯歡迎關注我,歡迎留言討論。
本文由 @產品人玄青 原創發布于人人都是產品經理。未經許可,禁止轉載
題圖來自 Unsplash,基于 CC0 協議
個人認為,作為新人面試,更加多是關注他態度、邏輯思維等會比較好。這種是很細節,但是很少人會注意到這種,沒有做過或者不是開發,很少人會關注這個。這種問,價值不大。
而且產品,是業務為主,上面內容涉及安全、并發等一系列,從文章來說,缺少業務體系,寫到一個點就一個點,這種做產品更危險,產品沒規劃,想到哪做到哪
個人認為文章清晰易讀且有自己的思考在,首先感謝作者的分享@作者,標題肯定是博眼球的,倒沒必要較真…..以及產品不只只是以業務為主,同時也要為交付和團隊負責,所以對功能細節有要求是非常非常重要的品質,這樣才不會留下很多天坑、不會消耗團隊信任,我認為對“功能細節的思考”確實可以作為面試的考察緯度。再次感謝作者的分享
個人認為,作為新人面試,問這種過于經驗性的內容意義不大,除非對方簡歷中表達做過類似內容,那可以用來摸底。面試新人可以循序漸進問問讓他做登陸的發散思考解法考察邏輯、思考方式即可
關于是否要自動填充驗證碼的問題,個人覺得可以給予選擇,比如蘋果就會在鍵盤上給出短信驗證碼,同時有自動填充的選項。要是不想自動填充,在當前頁面就可以輸入,挺方便的。
蘋果還行,安卓很多人都有點信不過。