团队介绍
我们更希望你通过上述文档充分了解我们团队。
工作内容
-
使用 TypeScript 按需求和规范编写后端业务程序(接口等)。
-
一些杂活,包括但不限于服务器运维、写爬虫采集数据、数据处理、数据导入导出等。
要求
-
基础
-
熟练使用 Git,理解分支等基础概念,会处理分支合并冲突。
-
粗略理解计算机基础知识,例如 NAT 网络、HTTP 协议、IP 协议、内存分页机制、线程调度机制等。
-
会使用常见的软件,例如虚拟机、数据库、Docker、Chrome 的开发者工具等。
-
了解常见的 Web 安全问题和攻击方式,如 XSS、CSRF、SQL 注入等。
-
-
数据库
-
了解数据库理论(例如实体、键码、功能依赖等),知道如何判断数据库满足什么范式。
-
能独立设计数据库,会画 ER 图,能正确地添加约束。
-
能编写简单的 SQL 操作数据库。
-
能使用常见的 ORM 操作数据库。
-
-
类型和抽象
-
会通过类型对业务进行建模,能创建合理的抽象(最好是函数式风格的抽象)。
-
有良好的类型安全意识,尽可能保证类型安全。
-
理解 TypeScript 的类型机制,尤其是那些和常见类型系统不同的地方(例如鸭子类型、类型合并、类型收窄等)。
-
理解 ADT(抽象代数类型),以及 TypeScript 和它的联系。
-
-
并发
-
理解进程、线程、协程的区别,理解操作系统对它们的调度方式。
-
理解数据库在并发时的行为(如行锁、表锁等)。
-
理解基本的并发编程概念(例如锁、互斥、线程池、原子性等)。
-
理解 JavaScript/TypeScript 的异步操作的原理。
-
-
加分项
-
了解类型理论(如柯里-霍华德同构、System F、依赖类型等)更佳。
-
了解函数式编程(如 Monad、代数效应等),使用过纯函数式编程语言(如 Haskell、Idris 等)更佳。
-
了解计算理论(如 NFA、CFG、非确定性等)更佳。
-
我们可能会提出的问题
-
在 ER 图建模过程中,“三项关系”要怎么转换成表,“属于”关系又要怎么转换成表。
-
用 TypeScript 写一个类型计算,将输入元组反转,例如输入
[1,
2,
3]
,得到[3,
2,
1]
。 -
JavaScript 在执行时是单线程的吗?
-
考虑一个图床网站,用户可以上传图片在其他地方引用,如果“删除图片”接口被设计为 GET 方式,可能存在哪些安全问题?
-
TypeScript 中,Record 类型的 value 位置是协变的还是逆变的,为什么。
-
TypeScript 的 Promise 实现了 Monad 吗,为什么。
-
能否找到一个下推状态机的所有同构,为什么。
title说 要的后端,为啥提问都是偏前端的
nodejs后端
8年java后端,熟悉vue,时间充裕,可以远程,望联系合作
本人熟练并应用vue2、vue3、nodejs、mongo数据库、gitlab、内网穿透、docker等技术,欢迎沟通!
10年Java会ts求联系
7年java,可联系
用TS+vue 写过前端 可否沟通一下
兼职睡前5k,我还是跑滴滴吧