面经转 anki 卡组记录分享,需要 anki 卡组的直接点击下列链接下载: anki apkg 文件
- 面试八股文 集合
- 转换成 anki 卡片
仓库整理
- 面试八股文
- baguwen-wiki.vercel.app
- https://baguwen-wiki.vercel.app/#/
- 优先 内容全 知识比较多
- fullstack-tutorial
- 后台技术栈/架构师之路/全栈开发社区,春招/秋招/校招/面试
- https://frank-lam.github.io/fullstack-tutorial/#/introduction
- 主要讲概念 面试八股文 中包含题目
- 小林 x 图解计算机基础
- 图解计算机网络、操作系统、计算机组成、数据库
- https://xiaolincoding.com/
- 抽查了一下 面试八股文 中包含题目
- 剑指前端 Offer
- 已有 anki 可以一键导入
- 《剑指 Offer》面试题 Python 实现
- 算法题 暂时不用
- java-eight-part
- Java 面试套路,Java 进阶学习,打破内卷拿大厂 Offer
- 无网页版本
- 内容不适合转 anki 不是非常系统
- Interview——IT 行业应试学知识库
- interview.apachecn.org
- star 最多
- https://interview.apachecn.org/#/
- 八股文转向了 baguwen-wiki
- JCSprout
- Java Core Sprout : basic, concurrent, algorithm\
- https://crossoverjie.top/JCSprout/#/?id=introduction
- java 相关 无数据库等信息
面试八股文
- 二级标题混乱 无法直接使用 mdankideck 工具
- 需要脚本改造
format_markdown.py
- mdankideck 工具参考 [[anki 导入 markdown 文件调研]]
- 需要脚本改造
- 学习笔记不弄
- 文章结构不适合转换成 anki card
- 存在多个一级标题时
- 第二个往后的所有标题 级别+1
- E:\tmp\baguwen-wiki\docs\DOM-API-面试题(山月).md
- 测试 ok
- 所有二级标题加上一级标题
- 图片效果
- 存在部分无图片的情况
- 1cbecf47a83cbb8e02f34bcd5a92f0a5
- 无二级标题时
- 暂无这种情况
- 去除 参考资料 标题及其内容
- 二级标题后结构合理 不用管
- 顺序问题
- 暂时不解决
python format_markdown.py
pip install markdown-anki-decks
mdankideck .\docs .\anki --prefix "面试八股文::" --sync -delete
format markdown 脚本
#!/usr/bin/env python
# encoding: utf-8
# @Time : 2022/08/07 13:35:52
# @author : zza
# @Email : z740713651@outlook.com
# @File : format_markdown.py
import os
import sys
import shutil
import re
def main():
# remove note files
if not os.path.isdir("study_notes"):
os.mkdir("study_notes")
file_names = os.listdir(".\docs")
for file_name in file_names:
if "学习笔记" in file_name:
print("move to study_notes", file_name)
# mv to study_notes
shutil.move(".\docs\\" + file_name, ".\study_notes")
elif "面试题" not in file_name:
print("无面试题字段", file_name)
# find unformat file
file_names = os.listdir(".\docs")
for file_name in file_names:
if not file_name.endswith(".md"):
continue
context = open(".\docs\\" + file_name, "r", encoding="utf-8").read()
level_one_tiltes = re.findall(r"\n\n# ([^\n]+)\n", context)
# replace \n(#+ [^\n]+)\n to \n#$1\n
if len(level_one_tiltes) != 1:
print("unformat file", file_name)
# format file
original_first_title = level_one_tiltes[0]
# new_context = re.sub(r"\n(#+ [^\n]+)\n", r"\n#\1\n", context)
# 二级变三级
new_context = re.sub(r"\n(#{2,}) ([^\n]+)\n", rf"\n#\1 \2\n", context)
# 一级变二级 并加上主标题
new_context = re.sub(
r"\n# ([^\n]+)\n",
rf"\n## " + original_first_title + r" - \1\n",
new_context,
)
# 一级保持不变
new_context = new_context.replace(
f"## {original_first_title} - {original_first_title}",
f"# {original_first_title}",
)
open(".\docs\\" + file_name, "w", encoding="utf-8").write(new_context)
else:
print("format file", file_name)
# mv to format_files
pass
if __name__ == "__main__":
main()