跳到主要内容

面试八股文-anki-卡片

阅读需 3 分钟

面经转 anki 卡组记录分享,需要 anki 卡组的直接点击下列链接下载: anki apkg 文件

  • 面试八股文 集合
  • 转换成 anki 卡片

仓库整理

面试八股文

  • 二级标题混乱 无法直接使用 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()

Loading Comments...