-
Notifications
You must be signed in to change notification settings - Fork 2.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
docs: ✏️ add Software_Development_Terminology.md
- Loading branch information
1 parent
a6d4685
commit 4e73d7f
Showing
10 changed files
with
625 additions
and
9 deletions.
There are no files selected for viewing
262 changes: 262 additions & 0 deletions
262
02_Swift_interview_questions/Software_Development_Terminology.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,262 @@ | ||
# Coding language | ||
|
||
## Basic punctuation | ||
* comma , | ||
* dot . | ||
* question mark ? | ||
* exclamation mark ! | ||
* dash - | ||
* underline _ | ||
* asterisk * | ||
* slash / | ||
* backslash \ | ||
* vertical bar | | ||
* tilde ~ | ||
* hash # | ||
* caret ^ | ||
* ellipsis ... | ||
* ampersand & | ||
* grave ` | ||
## Bracket | ||
* Parentheses () | ||
* Square bracket [] | ||
* Angle bracket <> | ||
* Curly brackets {} | ||
|
||
## Colon | ||
* Colon : | ||
* Semicolon ; | ||
## Quotation mark | ||
* Quotes " " | ||
* Single quotes ' ' | ||
|
||
## Operators | ||
|
||
### Terminology | ||
* Unary operators operate on a single target. `-a` | ||
* Binary operators operate on two targets. `a + b` | ||
* Ternary operators operate on three targets. ` a ? b : c ` | ||
|
||
### Assignment Operator | ||
`a = 5` 5 assign to a | ||
### Arithmetic Operators | ||
* Addition (+) | ||
* Substraction(-) | ||
* Multiplication(*) | ||
* Division(/) | ||
|
||
`a + b` a add b / a plus b | ||
`a - b` a minus b | ||
`a * b` a multiplied by b / a times b | ||
`a / b` a divided by b | ||
|
||
### Remainder Operator | ||
`9 % 4` 9 remainder with 4 | ||
### Compound Assignment Operators | ||
`a += 2` a plus equals 2 | ||
### Comparison Operators | ||
* Equal to (a == b) | ||
* Not equal to (a != b) | ||
* Greater than (a > b) | ||
* Less than (a < b) | ||
* Greater than or equal to (a >= b) | ||
* Less than or equal to (a <= b) | ||
|
||
### Nil-Coalescing Operator | ||
`a ?? b` | ||
### Range Operators | ||
* Closed Range Operators `1...5` from 1 to 5 | ||
* Half-Open Range Operators `a..<b` from a to b, but doesn't include b. | ||
* One-Sided Ranges `names[2...]` from index 2 to the end of array. `names[..<2]` from index 0 to index 2. `...5` from start to 5 | ||
### Logical Operators | ||
* Logical NOT (!a) | ||
* Logical AND (a && b) | ||
* Logical OR (a || b) | ||
|
||
### Identity Operators | ||
* Identical to (===) | ||
* Not identical to (!==) | ||
|
||
### Bitwise Operators | ||
* Shift to the left by 1 place (<< 1) | ||
* Shift to the right by 1 place (>> 1) | ||
* NOT (~a) | ||
* AND (a & b) | ||
* OR (a | b) | ||
* exclusive OR (a ^ b) | ||
|
||
### Overflow Operators | ||
* Overflow addition (&+) | ||
* Overflow subtraction (&-) | ||
* Overflow multiplication (&*) | ||
|
||
## Syntax | ||
|
||
### Oriented-Object Programming | ||
|
||
* 封装:encapsulation (capsule是胶囊,encapulate就是装到胶囊里,封装的动词) | ||
* 集成:inheritance (inherit继承的动词) | ||
* 多态:polymorphism (在希腊语里poly是多,morphic是形态学的) | ||
|
||
* 函数:function | ||
* 方法:method | ||
* 参数:parameter | ||
* 类:class | ||
* 子类:subclass | ||
* 父类:superclass | ||
* 结构体:structure | ||
* 元组:tuple | ||
* 构造函数:constructor | ||
* 实例:instance (实例化:instantiation) | ||
* 对象:object | ||
* 变量:variable | ||
* 全局变量:global variable | ||
* 局部变量:local variable | ||
* 作用域:scope | ||
* 常量:constant | ||
* 成员变量:member | ||
* 属性:property | ||
* 储存变量:stored property | ||
* 计算变量:computed property | ||
* 栈:stack | ||
* 堆:heap | ||
* 属性包装器:property wrapper | ||
* 字段:field | ||
* 可空类型:optional type | ||
* 解包可空类型:unwrapping optionals | ||
* 强制解包:force unwrap | ||
* 模型:model | ||
* 模块:module (模块化:modulize) | ||
* 值类型:value type | ||
* 引用类型:reference type | ||
* 重写:override | ||
* 重载:overloading (运算符重载:operator overloading) | ||
* 开辟内存:alloc memory | ||
* 释放:release | ||
* 持有:retain/store | ||
* 循环引用:retain cycle/cycle reference | ||
* 垃圾回收:garbage collection | ||
* 内存泄漏:memory leak | ||
* 调用:call/invoke | ||
* 触发:trigger | ||
* 扩展:extension | ||
* 模版:template | ||
* 原形:prototype | ||
* 自动引用计数:ARC(automatic reference counting) | ||
* 手动持有释放:MRR(manual retain-release) | ||
* 上下文: context | ||
* 声明式:declarative | ||
* 祈使式:imperative | ||
* 拆分:segregate/slice/split/separate | ||
* 回调:callback | ||
|
||
### Oriented-Protocol Programming | ||
|
||
* 接口:protocol/interface | ||
* 默认实现:default implementation | ||
* 遵从接口:comform to protocol | ||
* 代理:delegate | ||
* 关联类型:associatedtype | ||
* 类型别名:typealias | ||
* 可选接口方法:optional protocol methods | ||
* 泛型:generics | ||
* 类型参数:type parameter (< T >) | ||
* 不透明类型:opaque type (some View) | ||
* 装饰器:decorator | ||
|
||
### Reactive | ||
* 发布者:publisher | ||
* 订阅者:subscriber | ||
* 事件驱动:event-driven | ||
|
||
### Multi-thread | ||
* 线程:thread | ||
* 进程:process | ||
* 信号量:semaphore | ||
* 线程安全:thread safety | ||
* 死锁:deadlock | ||
* 并发:concurrency | ||
* 串行:serialisation (serial串行的) | ||
* 并行:parallel | ||
* 同步:synchronous | ||
* 异步:asynchronous | ||
* 结构并发:structured concurrency | ||
* 任务:task/job | ||
* 挂起:wait/suspend | ||
* 阻塞:pend/notify | ||
* 休眠:sleep | ||
* 轮询:polling | ||
* 中断:interrupt | ||
|
||
### Data | ||
* 数据库: database | ||
* 关系型数据库: relational database | ||
* 序列化: serialize (serialization名词) | ||
* 反序列化: deserialize | ||
* 建表: create table | ||
* 读取: read | ||
* 更新: update | ||
* 删除: delete | ||
* 持久化: persistence | ||
* 实体: entity | ||
* 存储: storage | ||
* 单项数据流: unidirectional data flow | ||
* 双向绑定:Two-Way bindings | ||
* 升序:ascending | ||
* 降序:descending | ||
|
||
### Network | ||
* 仓库:repository | ||
* 节点:endpoint | ||
* 广播风暴:broadcast storm | ||
* 重定向:redirect | ||
* 授权:authentication | ||
* 压缩:compression | ||
* 缓存:cache | ||
* 三次握手:3-way handshake | ||
* 应答: acknowledgement | ||
|
||
### Access Control | ||
|
||
* 公有:public | ||
* 私有:private | ||
* 文件私有:file private | ||
* 内联:internal | ||
|
||
## Operation | ||
* 灰度发布:gray release | ||
* 开发环境:development environment | ||
* 生产环境:product environment | ||
* A/B测试:A/B Test | ||
* 打点日志:tracking log | ||
* 数据收集:data collection | ||
* 诊断:diagnose | ||
* 迭代:iterative | ||
|
||
## UI | ||
* 布局:layout | ||
* 自动布局:autolayout | ||
* 约束:restraint | ||
* 对齐: alignment | ||
* 行首空格:indent | ||
|
||
## Security | ||
* 编码: encode | ||
* 解码: decode | ||
* 加密: encryption | ||
* 解密: decryption | ||
* 对称加密: symmetric-key encryption | ||
* 非对称加密: public-key encryption (asymmetric encryption) | ||
* 混淆: hash | ||
* SSL: Secure Sockets Layer | ||
|
||
## Debug | ||
* 歧义:ambiguity | ||
* 错误处理:error handling/exception handling | ||
|
||
## Others | ||
|
||
### Code Mess | ||
* Spaghetti code (意大利面代码,表示乱的搅在了一起) | ||
* Ravioli code (意大利饺子代码,表示代码分了模块) | ||
* Lasagna code (千层面代码,表示代码分了层) |
Oops, something went wrong.