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

背景

面试官的小抄是我的一个全栈项目,一开始是为了实战下全栈,通过学习微信小程序 顺便将自己多年收藏的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)

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

相关推荐
aqi008 小时前
鸿蒙版本的JSBridge兼容与安卓配套的H5啦
android·华为·harmonyos·鸿蒙·移动应用
事圆则缓9 小时前
MVVM 的理解与设计
android·android jetpack
码农阿豪10 小时前
我把 OpenClaw 装进旧安卓手机后,又折腾了 3 天:飞书、ADB、SSH 全部打通
android·智能手机·飞书
有什么事11 小时前
把安卓搬上云端:云手机系统改造与内核优化拆解
android·智能手机
方白羽12 小时前
性能分析:Android Studio Profiler
android·性能优化·app
没文化的阿浩12 小时前
【MySQL】用户管理
android·mysql·adb
FlightYe13 小时前
音视频修炼之基础理论(五):AAC格式与解析
android·linux·c++·音视频·aac
法欧特斯卡雷特14 小时前
Kotlin 2.4.20 现已发布,新特性多不多?
android·开源·全栈
摇滚侠14 小时前
《SpringBoot 3:入门与应用实战》第 12 章 JDBC 与事务 使用 JdbcTemplate 阅读笔记 31
android·spring boot·笔记
Zeaon15 小时前
别再手写筛选栏了:一个可组合的 Flutter 选择组件(5 入口 × 7 委托)
android·flutter