全栈加持,让面试官小抄再次进化!

背景

面试官的小抄是我的一个全栈项目,一开始是为了实战下全栈,通过学习微信小程序 顺便将自己多年收藏的Android面试资料做一次大整理。核心是 让 Android面试&进阶能够轻松一些, 毕竟目前大环境也一般,保不齐哪天就能用上了。 主要包含以下内容

  1. 8个精彩专栏
  2. 340+道 高频面试题以及解答
  3. 大小厂面经搜集

image.png

全栈加持

事情往往是变化来驱动的,由于我在字节是做广告这块的,在小抄做完之后 就接入的腾讯的广告,顺便感受下竞品,但是分享出来之后有些使用者 不想看广告希望能开个vip,加上腾讯宣布开始对小程序开启年费模式,以及服务器的费用,嗯🤔,那就搞个vip模式吧

首先面临的就是搭建账户体系

账号体系

微信小程序的用户信息api 在设计上有大改(这个后面有时间单独开一篇介绍下),这里简单提一下,主要是之前的

  • wx.getUserInfo
  • wx.getUserinfoProfile

这2个api被微信废弃了,之前可以直接拿到微信头像以及昵称,现在统一返回 "微信用户",和一个灰框头像 目前推荐是的 openid 的方式,小程序为了保护用户的微信数据不外泄,将微信用户映射成 openid,不过为了安全起见 这个openid 不是小程序api直接获取,而是

wx.login api 拿到一个code, ------> 携带code请求开发者服务端 ------> 开发者 服务端拿着这个code,再向 小程序官方服务端 发请求 ------> 置换出最后的用户标识 openid 小程序的官方文档写的是为了信息安全设计成这种 Sever2Sever的方式

至此账号问题解决了。

这里提一下,服务端我是采取go 来写的,go用起来确实比java要趁手很多,数据库使用gorm,顺便安利一下 IDE的AI 写代码插件 **通义灵码 **可以集成在IDE内部,一些服务端的模板代码都是找它生成的,什么数据结构、gorm一些查询代码感觉还不错。

vip去广告

主要是小程序内部接入微信支付,这个流程上也是非常繁琐,毕竟涉及到支付环节(后面有时间这里可以单独开一篇介绍下) 小程序商户绑定这些基本的就先不提了,注册完事之后,还得申请是哪种形式的微信支付,小程序内部发起的数据JSAPI,其他的有native支付、H5支付等等 这里重点提下,主要是签名的生成和校验,这块是放在开发者服务端创建订单时候使用生成带签名支付的信息和小程序服务端交互 这里要特意注意下订单号的生成和处理,有时候订单并为支付,下次还得使用这个订单号否则会有一些报错,如下:

http response:[StatusCode: 400 Code: "INVALID_REQUEST" Message: 201 商户订单号重复

长期演进计划

到这里面试官的小抄算是初具雏形了,下面就是怎么把内容做好了。目前Android应用层都是在往大前端发展,纯原生很难应付了,鸿蒙目前也是来势汹汹,后面小抄也是会朝着这个方向更新,预计会继续完善 Flutter、Kotlin、鸿蒙,Android架构、经典库源码分析等相关专栏。大家有好的意见也可以进群交流反馈。

🔥全栈程序员龙湫,阿里&字节 面试官,目前在字节跳动写Android,欢迎找我内推

  • 16年 研究生 毕业于 电子科技大学 通信抗干扰国家重点实验室
  • 毕业后在 网易 折腾过 网易支付、网易云课堂; 在 滴滴 做过国际化司机端,在 阿里 修过福报(第一年绩效卷到3.75)

欢迎👏🏻 关注我的公众号,希望能帮助正在学习的你少走一些弯路。学习过程中如果你有疑问或者你的经验想要分享 可以添加我的微信,进技术交流群,大家一起交流,一起进步,一起对抗互联网寒冬。

相关推荐
xzkyd outpaper3 小时前
onSaveInstanceState() 和 ViewModel 在数据保存能力差异
android·计算机八股
CYRUS STUDIO4 小时前
FART 脱壳某大厂 App + CodeItem 修复 dex + 反编译还原源码
android·安全·逆向·app加固·fart·脱壳
WAsbry4 小时前
现代 Android 开发自定义主题实战指南
android·kotlin·material design
xzkyd outpaper5 小时前
Android动态广播注册收发原理
android·计算机八股
唐墨1235 小时前
android与Qt类比
android·开发语言·qt
林林要一直努力5 小时前
Android Studio 向模拟器手机添加照片、视频、音乐
android·智能手机·android studio
AD钙奶-lalala5 小时前
Mac版本Android Studio配置LeetCode插件
android·ide·android studio
散人10247 小时前
Android Test3 获取的ANDROID_ID值不同
android·unit testing
雨白7 小时前
实现动态加载布局
android
帅得不敢出门8 小时前
Android设备推送traceroute命令进行网络诊断
android·网络