💻 신입 개발자로서 지식을 쌓기 위해 공부하는 공간 👨💻
| Files | Last commit | Last update |
|---|---|---|
| 3 years ago | ||
| 5 years ago | ||
| 5 years ago | ||
| 4 years ago | ||
| 3 years ago | ||
| 3 years ago | ||
| 3 years ago | ||
| 3 years ago | ||
| 6 years ago | ||
| 6 years ago | ||
| 3 years ago |
Translated by AI, submit an issue feedback
这里是为初级或中级开发者整理所需知识的场所。
希望这些内容不仅能扩展知识面,还能在准备技术面试时提供帮助。
这不是个人的空间,而是我们共同填充的,
请通过 issue 和 Pull Request 成为这个仓库的贡献者。
如果您觉得内容满意或有用,请点击 Star,我们将不胜感激。 🙏
希望这些内容不仅能扩展知识面,还能在准备技术面试时提供帮助。
这不是个人的空间,而是我们共同填充的,
请通过 issue 和 Pull Request 成为这个仓库的贡献者。
如果您觉得内容满意或有用,请点击 Star,我们将不胜感激。 🙏
👨👩👦👦 贡献者
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|---|---|---|---|---|---|
| huhsay | hzoou | woung717 | Bellroute | ksshlee | goodGid |
![]() |
![]() |
||||
| kommadot | jsh-me | devsungmin |
1. 面试
通用
Android
- 安卓面试问题系列 - 李胜贤先生 브런치
- Android 面试问题整理
- Android 概念问题列表
- 安卓开发者面试问题列表
- 面试问题
- [安卓]Jenkins(CI服务器)中减少90%构建时间的4种方法
- 四大组件
- Activity 生命周期
- Android 中使用 Enum
- 为什么使用 RecyclerView 的 setHasFixedSize?
iOS
2. 计算机科学
算法
- 选择排序(Selection Sort)
- 冒泡排序(Bubble Sort)
- 归并排序(Merge Sort)
- 插入排序(Insertion Sort)
- 快速排序(Quick Sort)
- 堆排序(Heap Sort)
- 双指针算法
- 排列(Permutation)
- BFS & DFS
- 二分查找(Binary Search)
- 最大公约数与最小公倍数
- lru cache
操作系统
- 操作系统是什么
- 计算机系统的工作原理
- 进程 vs 线程
- 同步问题
- 上下文切换
- 中断(Interrupt)
- 系统调用(System Call)
- 死锁(Dead lock)
- CPU 调度
- 调度器的种类
- 同步 vs 异步
- 分页 & 分段
- 页面置换算法
- 碎片化
- 进程间通信(IPC)
- 内存
- 缓存的局部性
数据库
网络
- OSI 7 层
- TCP
- UDP
- 3-Way handshake & 4-Way handshake
- HTTP与HTTPS的区别
- 公钥加密与对称密钥加密
- REST & RESTful
- Get vs Post
- Cookie与Session的区别
- 输入Naver时发生的过程
- 负载均衡
- 有状态 vs 无状态服务与HTTP及REST => 值得一读的文章
- HTTP操作过程与HTTP方法、状态码
数据结构
- [数据结构] 数组 vs 链表
- [数据结构] ArrayList vs LinkedList
- [数据结构] 栈与队列
- [数据结构] 树
- [数据结构] 堆
- [数据结构] B树 & B+树
- [数据结构] 哈希(Hash)
- [数据结构] 二叉搜索树
- [数据结构] Trie(字典树) 数据结构
3. 编程语言
Java
- [Java] 按值调用与按引用调用
- [Java] String, StringBuilder, StringBuffer 的区别
- [Java] 面向对象编程
- [Java] 访问控制修饰符
- [Java] ==与equals()的区别
- [Java] 包装类
- [Java] 基本类型与引用类型的区别
- [Java] 重写与重载
- [Java] final 关键字
- [Java] non-static 成员与 static 成员的区别
- [Java] 抽象类
- [Java] 接口
- [Java] 抽象类与接口的区别
- [Java] 变量的种类与内存结构
- [Java] Reflection
- [Java] 垃圾回收
- [Java] Java中的Thread
- [Java] Java的String
- [Java] int与short
- [Java] JVM
- [Java] equals() 方法的工作原理
- [Java] Integer vs int 大小比较
Kotlin
- let, apply, run, with的区别
- kotlin functions
- 简单语法 Part. 1
- 简单语法 Part. 2
- Kotlin基础
- 函数定义与调用
- 类、对象、接口
- Lambda
- Kotlin类型系统
- 运算符重载
- 高阶函数
- 泛型
- 注解与反射
4. 其他
个人认为有用的文章、网站、博客等进行存档。
- AI面试完全分析
- 第四次工业革命
- Droid Pirates
- JBee博客
- 开发者成长所需的三个要素
- 关于创业公司
- 关于谷歌斯塔迪亚
- 程序员面试 - 自信
- 程序员简历 - 技巧
- 邓宁-克鲁格效应
- “开始即成功一半”之外更重要的事:坚持的力量
许可证
MIT License
Copyright (c) 2020 이승우
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
使用 git 进行版本控制
简介
git 是一个分布式版本控制系统,广泛用于软件开发中,帮助团队协作管理代码。它允许开发者跟踪代码的变化,回滚到之前的版本,并轻松地合并不同开发者的工作。
基本概念
- Repository(仓库): 一个包含项目文件和历史记录的目录。
- Commit(提交): 对代码库所做的更改的快照,包含作者、日期和描述信息。
- Branch(分支): 一个独立的开发线,允许开发者并行工作而不影响主代码库。
- Merge(合并): 将一个分支的更改集成到另一个分支的过程。
- Pull Request(拉取请求): 请求将一个分支的更改合并到另一个分支的机制,通常用于代码审查。
常用命令
初始化仓库
git init
克隆远程仓库
git clone <repository_url>
查看状态
git status
添加文件到暂存区
git add <file_name>
提交更改
git commit -m "Commit message"
查看提交历史
git log
创建新分支
git branch <branch_name>
切换分支
git checkout <branch_name>
合并分支
git merge <branch_name>
推送到远程仓库
git push origin <branch_name>
从远程仓库拉取更新
git pull origin <branch_name>
最佳实践
- 频繁提交: 小而频繁的提交有助于跟踪更改并更容易回滚。
- 使用分支: 为新功能或修复创建独立分支,避免直接在主分支上工作。
- 代码审查: 通过拉取请求进行代码审查,确保代码质量。
- 保持主分支干净: 主分支应始终保持可部署状态。
结论
git 是一个强大的工具,能够显著提高团队协作和代码管理的效率。通过掌握这些基本概念和命令,开发者可以更好地利用 git 进行版本控制。







