10 年资深全栈、架构求职 - 上海

2023-01-26 12:54:16 +08:00
 lmshl

联系方式

个人信息

简介

项目经历

1. 高校邀请学术项目

检测报告识别软件

受复旦大学放射医学研究所邀请开发基于机器学习的自动文档识别桌面软件,该项目界面使用 Kotlin 开发,可运行在 Windows 、MacOS 、Linux 三大平台; SVM 模型部分使用 Python 开发。可自动识别 PDF 文档页面类别并重新组织检测报告,使其符合国家标准《放射卫生技术服务机构管理办法》。

检测报告生成管理软件

受复旦大学放射医学研究所邀请开发文档管理系统 Web 软件。该项目使用 Scala3 + React 开发,内置公式,可根据录入指标自动完成结果计算和评估是否符合检测标准,并生成国家标准检验检测报告。

体素模型转换软件

受复旦大学放射医学研究所邀请开发模型转换软件。以国际放射防护委员会 (International Commission on Radiological Protection) 所发布的成人计算参考体模( 2009 )和儿科计算参考体模( 2020 )为标准,本软件将以上模型转换为 Monte Carlo 粒子模拟软件 Fluka 所支持的输入格式,以计算不同当量辐射水平下,高能粒子束穿透人体时所产生的粒子衍射范围。

2. 上海穰川信息技术有限公司(麦穗人工智能) ( 2016 年 4 月 ~ 至今 )

基础设施建设

为公司搭建一整套基础设施,包括云端与本地的软硬件平台等,其承载公司所有业务与机器学习的计算、存储、调度、监控任务;同时带领出一支精通 kubernetes 的开发团队

人才智能平台核心中间件

人才智能平台是穰川的核心对外业务系统,提供人才招聘全流程管理,以及简历收录、解析、企业内人才盘点与流转、人选与职位的相互推荐与搜索等基于 AI 的智能功能。本项目在数据变更时生产事件以驱动下游机器学习流水线完成分析功能。我在项目中:

项目业绩:

技术亮点:

招乎招聘自动化系统( Scala 版)

招乎是穰川的上一代核心对外业务系统,实现人才招聘全流程管理与 AI 增强功能。

本项目从 NodeJS 迁移而来,基于 Scala Playframework,是函数式编程、纯异步、面向类型建模(代数数据类型)的落地实践,具有 CPU 占用率低、不依赖反射、业务状态的迁移过程清晰等优点,特别是不会在运行时发生 NullPointException

团队成员:6

项目业绩:

技术亮点:

招乎招聘自动化系统( NodeJS 版)

我是 TypeORMrouting-controllers 的早期贡献者。

团队成员:3

项目业绩:承载早期 300 个租户

技术背景:NodeJS 、TypeScript 、全注解 WebFramework

技术亮点:

River

内部 Change Data Capture 中间件,设计为解析 PostgreSQL 的事务预写日志(WAL),写入 ElasticSearch / Kafka 供下游数据服务分析消费。

团队成员:3

技术背景:基于数据库日志原理,使用 Akka Stream 等响应式流技术构建的健壮中间件。

技术亮点:

招乎浏览器插件

项目目标为,设计一套客户端插件,在不提供密码的前提下,帮助用户自动从网站收录数据。 具体实现为在插件内实现代理协议,所有客户端组成代理池,达到不会被目标网站基于 IP 、账户的反爬策略误伤的目标。

团队成员:5

技术亮点:

命令行工具软件

3. 东软载波 ( 2014 年 9 月 ~ 2016 年 3 月 )

带领前端团队(3 人),实践 NodeJS 大前端

4. 青岛日谷信息技术服务有限公司与海尔软件 ( 2012 年 2 月 ~ 2014 年 8 月 )

学习

技能词

以下均是我熟练使用的技能

6258 次点击
所在节点    求职
60 条回复
wdwwtzy
2023-01-27 11:16:38 +08:00
@lmshl 我觉大佬的圈子肯定很高端了,圈子里找一找比在这广撒网要好一些吧?
lmshl
2023-01-27 11:46:59 +08:00
@wdwwtzy
朋友推荐面过腾讯,薪资没谈拢,加面后定级薪资还是比现在低就没去。
另一个朋友推过字节,一轮游,lc medium 写不出来 + 默写字典树有瑕疵最后挂了。
自己面过几家初创外企全栈,这个倒是薪资有涨。

总之,圈子过于小众也不好,大佬们都在国外,要么我润出去,要么留在国内接受现状。
ximigou007
2023-01-28 14:14:37 +08:00
大佬看着履历挺强的佩服,scala 国内做后端开发的企业挺少的吧
lmshl
2023-01-28 16:59:12 +08:00
@ximigou007 谢谢捧场。
全球范围内有不少,国内确实很少,Hulu 、TubiTV 有在国内招人,摩根也有不少 Scala 代码,北京也有位清华教授在用纯函数式做一些大数据医疗方面的项目。但总体看下来国内 fp 生存环境挺差的。
house600
2023-01-29 10:21:58 +08:00
求问大佬,reactive 的使用场景有哪些?该怎么深入?一直停留在入门阶段,实际项目不知道怎么切入,望指点
lmshl
2023-01-29 10:44:33 +08:00
@house600 随时随地都可以使用,任何可以流式处理的场景都可以用 reactive 来处理。
建议先把 map 、filter 、reduce 用熟练,然后根据你用的语言生态选 RxJS 、akka-stream 、kotlin flow api 、tokio stream 中的任意主流方案。
我在 kotlin compose 桌面项目中就在用 flow api
在 rust 写 cli 的时候就用 tokio stream
在写前端或者浏览器插件的时候就用 rxjs
但我主业是写 Scala 的,所以我对 Scala 生态的 Akka-stream 、fs2 、zio-stream 都比较熟悉,可以随意切换。

基本上你用熟了任何一个 stream 库以后,迁移到其他语言、生态都不会花太大功夫,因为基本语义上大家都是一样的。
lmshl
2023-01-29 11:33:51 +08:00
@house600 举个例子,比如在编写大批量数据导出接口的时候
数据一次性加载到内存中再写入磁盘或者 HTTP Response 都是不合适的,因为数据量可能超过内存总量,这时候就必然要使用流式处理。

1. 这个场景中上游的 Source 是 JDBC connection ,设定 fetchSize 以后每次只会加载这个 batch 到内存中,也就是 Source(connection.selectWithFetchSize(用户列表))
2. 根据业务决定是否需要 filter 或 transform ,是否还需要经过其他第三方微服务接口处理,也就是 Flow.filter(过滤隐藏用户).map(隐藏真实姓名).mapAsync(从其他服务获取用户额外信息)
3. 打包写入磁盘或通过 HTTP Response 发送,甚至还可以插入一些编解码与压缩算法,也就是 Sink.map(toJson).transducer(gzip).toFile(文件名)

整个过程编写下来是声明式编程,而不是传统命令式,同时也具备 Reactive 的基本优点,比如异步+背压,不会导致 OOM 。
ximigou007
2023-01-29 18:32:27 +08:00
@lmshl 纯 FP 对团队要求太高了,感觉很难形成气候
lmshl
2023-01-29 18:48:57 +08:00
@ximigou007 其实要求不高,如果让我自己招人的话,给我一年时间,我就能带出一只纯 FP 熟练工的团队来。
不需要任何前提条件,不需要清北复交藤校还是 985/211 ,我可以从大专里选拔。
也不需要什么大公司工作履历和手撕 leetcode hard ,有这些背景可能更难带。
就让我自己出题面试,应届生一年熟练 FP 搬砖毫无压力。
lmshl
2023-01-29 18:51:56 +08:00
@ximigou007 因为写 FP 代码依然是写代码,不是造火箭。
需要的是在正反馈指导下的反复练习。
写够一万行生存期就过去了,写够十万行妥妥的熟练工。
ximigou007
2023-01-31 10:19:03 +08:00
@lmshl 佩服 不过大专的同学反复练习是能写一些,理论只是要补的挺多的,在我的工作经验中 能聊上 FP 的候选人和开发都挺少的 就很小一个圈子写 FP 当然我自己的 FP 的水平也比较有限 只是大致了解一些东西 实践中也主要是
lmshl
2023-01-31 13:30:53 +08:00
@ximigou007 不会太多,只要具备基本素养。(比如我给他一个 wiki 链接,他能在 24-48 小时内对着伪代码实现出来,期间随意查阅任何资料,请教任何朋友,但最终面试阶段我会问他每一行代码的具体作用)
然后两本书《 SICP 》+《 Scala 函数式编程》边看边写,基本上两本书看个 50% 内容就入门函数式了,剩下的能力在项目中锻炼即可。

我常用的一个离线面试问题是在 JS 中实现基于 Promise 的 Semaphore 。
lmshl
2023-01-31 13:36:31 +08:00
@ximigou007 能把这问题离线解决并在时限内解释出每一行代码,不管是否有场外援助。我都认为他具备基本素养,这可比现场手撕 lc hard 太多了。
ximigou007
2023-01-31 13:52:08 +08:00
@lmshl 想问下你考虑米哈游的后端 或者前端的岗位吗~
ximigou007
2023-01-31 13:56:45 +08:00
@lmshl 挺惭愧的我算法水平比较一般,能把 lc 刷的溜溜的 也是不太容易的 当然解决实际问题是综合能力的体现
lmshl
2023-01-31 15:38:09 +08:00
@ximigou007 如果有机会的话请推荐,十分感谢💕
ChevalierLxc
2023-01-31 16:17:24 +08:00
ximigou007
2023-01-31 18:09:13 +08:00
@lmshl kkyaltergo1004@gmail.com 这个是我的邮箱 方便的话 发我一下简历 我把相关的岗位发你 你看下合适我再推荐
lmshl
2023-01-31 19:15:13 +08:00
@ximigou007 发到这个邮箱了,谢谢推荐

@ChevalierLxc 在这个链接上直接投递了,谢谢推荐
ximigou007
2023-02-01 10:02:33 +08:00
@lmshl 我看了下邮箱没有收到你的简历 能麻烦再看下是否正常发送了吗。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/910695

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX