查看: 5485| 回复: 93
跳转到指定楼层
上一主题 下一主题
收起左侧

学习记录贴

全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
开一个学习记录贴,希望能每天都能学到一些奇奇怪怪的新知识23333。

上一篇:博士留学就业
下一篇:有没有人需要刷题伙伴的~
 楼主| Cabbage1123 2024-9-3 01:44:14 | 只看该作者
全局:
本帖最后由 Cabbage1123 于 2024-9-2 10:47 编辑

2024-09-02
突发奇想,要不开个repo每天post一个面经solution好了,虽然不找工作但是地里面经这么多。。。我会给我看过的面经加米~谢谢提供面经的大哥大姐们先
search url:
https://www.1point3acres.com/bbs ... 11&orderby=dateline
Update:看起来1point3acre的前端不太行,一个url里带query的链接点开,前端居然不能进行相关的查找。。。

面经范围:
1. 工作类别:全职
2. 相关工作经验范围:1-3年
3. 应届or在职跳槽:在职跳槽
4. 工作职位类别:码农类general

回复

使用道具 举报

推荐
 楼主| Cabbage1123 2024-4-10 14:26:04 | 只看该作者
全局:
本帖最后由 Cabbage1123 于 2024-4-9 23:30 编辑

2024.04.04 ~ 2024.04.09
除了刷 Leetcode 之外其他没干啥...
System design 阅读了以下材料(没读完)

How to design a S3
文档
1.        【系统设计】S3对象存储:https://www.cnblogs.com/myshowtime/p/16561504.html —— [Alex Xu] System Design Interview (Volume-2) Chapter 9 的中文翻译 -> 极佳
2.        【系统设计】分布式键值数据库:https://www.cnblogs.com/myshowtime/p/16489514.html -> 还行
3.        S3-like storage system:https://blog.bytebytego.com/p/design-a-s3-like-storage-system -> 不行
4.        沃纳博士解读 Amazon S3 强一致性技术实现:https://developer.aliyun.com/article/1202913 -> 十分不行
5.        [面试经验]亚麻 店面:https://www.1point3acres.com/bbs/thread-764718-1-1.html -> 不知道在说啥
视频
1.        S3 system design | cloud storage system design | Distributed cloud storage system design:https://www.youtube.com/watch?v=UmWtcgC96X8 -> A super high level?
没看完:2.        Object Storage Service Design | S3 System Design | Mock Interview | Distributed System Design:https://www.youtube.com/watch?v=bjs4-llSPsI -> Real-time mocking
没看完:3.        System Design Session - Design a Distributed object storage system Part-1 - 20 Aug, 2020:https://www.youtube.com/watch?v=k8_5khr6oNk -> Real-time mocking
没看完:4.        System Design Session - Design a Distributed object storage system Part-2 - 27 Aug, 2020:https://www.youtube.com/watch?v=YhhPTuZGlwY -> Real-time mocking
5.        WAS : System design of S3, GCS, BigTable, SQS:https://www.youtube.com/watch?v=Hgt4sS3bmow -> 太细节了,有点像设计storage engine,读PPT(全部粘贴到doc里面了)
6.        What Are Object Stores Used For? [S3] | Systems Design Interview 0 to 1 With Ex-Google SWE:https://www.youtube.com/watch?v=0lO2zEHFoh4 -> 短,可以不看

How to design a Twitter
文本
1.        【系统设计篇】How to design Twitter? https://juejin.cn/post/6844903683205890056
2.        [经验总结] 经典系统设计twitter(浅谈版):https://www.1point3acres.com/bbs/thread-498444-1-1.html – 有关于 Follow
3.        Instagram 系统设计题解:https://blog.acecodeinterview.com/instagram/
4.        [搞点翻译]系统设计面试:设计一个Instagram:https://zhuanlan.zhihu.com/p/588495668
5.        [搞点翻译]系统设计面试: 设计一个推特:https://zhuanlan.zhihu.com/p/595939063
6.        https://zhenghe.gitbook.io/open-courses/system-design/twitter
7.        几个大型网站的Feeds(Timeline)设计简单对比:https://cloud.tencent.com/developer/article/1350690 -> 简略

视频 - 视频几乎都没看,这周末补上
1.        [CC] How to Design Twitter – System Design EP1:https://www.youtube.com/watch?v=PMCdWr6ejpw
2.        Designing INSTAGRAM: System Design of News Feed:https://www.youtube.com/watch?v=QmX2NPkJTKg
3.        Instagram System Design | Meta | Facebook:https://www.youtube.com/watch?v=YoS5cp0cirM
4.        System Design Mock Interview: Design Instagram:https://www.youtube.com/watch?v=VJpfO6KdyWE
5.        Design Twitter - System Design Interview:https://www.youtube.com/watch?v=o5n85GRKuzk
6.        2: Instagram + Twitter + Facebook + Reddit | Systems Design Interview Questions With Ex-Google SWE:https://www.youtube.com/watch?v=S2y9_XYOZsg
7.        Facebook System Design | Instagram System Design | System Design Interview Question:https://www.youtube.com/watch?v=9-hjBGxuiEs
8.        System Design for Twitter (Timeline, Live Updates, Tweeting) | System Design Interview Prep:https://www.youtube.com/watch?v=_QqpD0w8oPM
9.        Design the Twitter timeline and search:https://github.com/donnemartin/s ... n/twitter/README.md

和别人mock了一次,发现 system design 的数据库表得好好思考才行,不然很容易被问倒。。。光看文档,不自己设计一遍,真的没用!痛定思痛希望下次能结果好一点。。。

另:打算在database这条路上一路走到黑了。。。
额挺无聊的但是附上一张Leetcode记录。。。
回复

使用道具 举报

推荐
 楼主| Cabbage1123 2022-5-3 14:52:54 | 只看该作者
全局:
2022.05.02

LC 937. 重新排列日志文件



这道题拿 C++ 写就相对来讲简单一点点,但是拿 Java 的话就稍微费点事儿。抄了一下答案,注意一下 `Arrays.sort` 的自定义排序写法。
  1. class Solution {
  2.     public String[] reorderLogFiles(String[] logs) {
  3.         Arrays.sort(logs, (log1, log2) -> {
  4.             String[] split1 = log1.split(" ", 2);   
  5.             String[] split2 = log2.split(" ", 2);
  6.             boolean isDigit1 = Character.isDigit(split1[1].charAt(0));  
  7.             boolean isDigit2 = Character.isDigit(split2[1].charAt(0));
  8.             if (!isDigit1 && !isDigit2) {   // 如果两个日志都是字母日志
  9.                 int cmp = split1[1].compareTo(split2[1]);   // 先比较内容字母 split1 > split2,则返回 1 ,等于返回 0,小于返回 -1
  10.                 if (cmp != 0) {
  11.                     return cmp;
  12.                 }
  13.                 return split1[0].compareTo(split2[0]);  // 若内容字母相同则比较标识符
  14.             }
  15.             return isDigit1 ? (isDigit2 ? 0 : 1) : -1;
  16.         });
  17.         return logs;
  18.     }
  19. }
复制代码
回复

使用道具 举报

🔗
 楼主| Cabbage1123 2022-3-30 19:25:43 | 只看该作者
全局:
2022.03.30(29)
LC 987, 547
ToDo: 学习 https://www.1point3acres.com/bbs/thread-139169-1-1.html
回复

使用道具 举报

🔗
 楼主| Cabbage1123 2022-4-1 14:52:03 | 只看该作者
全局:
2022.03.31

准备BQ问题*1(Mistake)
回复

使用道具 举报

🔗
 楼主| Cabbage1123 2022-4-10 13:42:45 | 只看该作者
全局:
2022.04.09
过去一周发生了太多的事情,首先是被告知通过了oa要进行vo。好不容易和老师沟通好期末考试的时间,约好了回国的核酸,又被通知暑期实习offer可能会被撕,接着被通知航班可能会被取消,一时间感到的是人生的无力。可是呢努力就好了。

忘记了刷题,明天补上。先补上欠下的作业再说......

总之还是要继续加油的。

难过的时候就听贝多芬吧,贝七也好贝九也好。Ludwig van Beethoven 真是个怪人,可在下不觉被他的偏执与抗争所打动。面对命运,人是需要抗争的,I don't care about results. After all, all men are born equal.
回复

使用道具 举报

🔗
 楼主| Cabbage1123 2022-4-13 07:55:17 | 只看该作者
全局:
2022.04.11
区块链中IPFS的存在是十分重要的,尤其是对于 NFT 类应用。 —— 感想来自 UBC EECE 571G 课程
起因在于我们的 project 需要实现存储图片的功能,但是 blockchain 中的 block 可以存储的内容十分有限,对于很多图片的存储,会十分占用空间(个人理解)
那么比较好的解决办法是使用 IPFS 进行文件和图片存储。
我们 project 的思路是,通过 几大平台提供的 IPFS接口进行存储,比如说 infura 提供的 infura ipfs 接口。通过这种方式可以获得图片的 url,也就是说,最终我们存储到 block 中的,是图片的 url 而非整个图片(或者图片的 base64 格式)

主要思路可以参考这篇:https://blog.logrocket.com/decentralized-data-storage-using-ipfs-and-react-a-tutorial-with-examples/#how-to-build-a-frontend-dapp-with-ipfs-and-react

主要问题在于 571G 这门课的 final presentation,有很多 project 的图片是存储在本地的,那么这实际上是没有达到区块链的分布式的效果(个人认为),当然所有的同学都是非常优秀的,但在下依然认为可以使用 ipfs ,所以记录在此。
回复

使用道具 举报

🔗
 楼主| Cabbage1123 2022-4-24 12:46:56 | 只看该作者
全局:
好久没有学习了,今天是2022年4月23号
水一题,LC 734.
回复

使用道具 举报

🔗
 楼主| Cabbage1123 2022-5-2 09:40:02 | 只看该作者
全局:
2022.04.30

LC 1305.两颗二叉搜索树中所有元素
  1. /**
  2. * Definition for a binary tree node.
  3. * public class TreeNode {
  4. *     int val;
  5. *     TreeNode left;
  6. *     TreeNode right;
  7. *     TreeNode() {}
  8. *     TreeNode(int val) { this.val = val; }
  9. *     TreeNode(int val, TreeNode left, TreeNode right) {
  10. *         this.val = val;
  11. *         this.left = left;
  12. *         this.right = right;
  13. *     }
  14. * }
  15. */
  16. class Solution {
  17.     public List<Integer> getAllElements(TreeNode root1, TreeNode root2) {
  18.         List<Integer> arr1 = new ArrayList<>();
  19.         List<Integer> arr2 = new ArrayList<>();
  20.         inorder(root1, arr1);
  21.         inorder(root2, arr2);

  22.         List<Integer> merged = new ArrayList<Integer>();
  23.         int p1 = 0, p2 = 0;
  24.         while(p1 < arr1.size() && p2 < arr2.size()) {
  25.             if(arr1.get(p1) < arr2.get(p2)) {
  26.                 merged.add(arr1.get(p1));
  27.                 p1++;
  28.             } else {
  29.                 merged.add(arr2.get(p2));
  30.                 p2++;
  31.             }
  32.         }
  33.         if(p1 == arr1.size()) {
  34.             merged.addAll(arr2.subList(p2, arr2.size()));
  35.         }
  36.         if(p2 == arr2.size()) {
  37.             merged.addAll(arr1.subList(p1, arr1.size()));
  38.         }
  39.         return merged;
  40.     }

  41.     public void inorder(TreeNode node, List<Integer> res) {
  42.         if (node != null) {
  43.             inorder(node.left, res);
  44.             res.add(node.val);
  45.             inorder(node.right, res);
  46.         }
  47.     }
  48. }
复制代码
  1. /**
  2. * Definition for a binary tree node.
  3. * public class TreeNode {
  4. *     int val;
  5. *     TreeNode left;
  6. *     TreeNode right;
  7. *     TreeNode() {}
  8. *     TreeNode(int val) { this.val = val; }
  9. *     TreeNode(int val, TreeNode left, TreeNode right) {
  10. *         this.val = val;
  11. *         this.left = left;
  12. *         this.right = right;
  13. *     }
  14. * }
  15. */
  16. class Solution {
  17.     public List<Integer> ans;
  18.     public List<Integer> getAllElements(TreeNode root1, TreeNode root2) {
  19.         ans = new ArrayList<>();
  20.         if(root1 == null && root2 == null) {
  21.             return ans;
  22.         }
  23.         dfs(root1);
  24.         dfs(root2);
  25.         ans.sort(Comparator.naturalOrder());
  26.         return ans;
  27.     }
  28.     public void dfs(TreeNode root) {
  29.         if(root == null) {
  30.             return ;
  31.         }
  32.         dfs(root.left);
  33.         ans.add(root.val);
  34.         dfs(root.right);
  35.     }
  36. }
复制代码
回复

使用道具 举报

🔗
 楼主| Cabbage1123 2022-5-15 13:55:37 | 只看该作者
全局:
2022.05.14
今天看了 coursera 上的一个指导项目,E-Commerce Payments Using Stripe and NodeJS,当时加入课程的时候还觉得挺新鲜的,结果今天一看,发现课程内容已经过时了,而且指导老师也没有很详细地进行讲解,就是改了改 html 和 css,js,觉得十分不好。
不过还是混了一个证书呵呵。

打卡力扣:812. 最大三角形面积
使用向量的方法计算两个向量构成的平行四边形面积,那么三角形面积就是平行四边形面积的一半。参考:https://blog.csdn.net/blank__box/article/details/52782812
  1. class Solution {
  2. public:
  3.     double largestTriangleArea(vector<vector<int>>& points) {
  4.         // 求三个点构成的平行四边形的面积,然后除以二
  5.         double s = 0, x1, y1, x2, y2;
  6.         int n = points.size();
  7.         for(int i = 0; i < n - 2; i++) {
  8.             for(int j = i + 1; j < n - 1; j++) {
  9.                 x1 = points[j][0] - points[i][0];
  10.                 y1 = points[j][1] - points[i][1];

  11.                 for(int k = j + 1; k < n; k++) {
  12.                     x2 = points[k][0] - points[i][0];
  13.                     y2 = points[k][1] - points[i][1];

  14.                     s = max(s, abs(x1 * y2 - x2 * y1));
  15.                 }
  16.             }
  17.         }
  18.         return s / 2;
  19.     }
  20. };
复制代码
回复

使用道具 举报

🔗
 楼主| Cabbage1123 2022-5-16 14:22:16 | 只看该作者
全局:
2022.05.15
LC 面试题 04.06. Successor LCCI(https://leetcode.cn/problems/successor-lcci/

本质上是利用了二叉搜索树的性质。
  1. /**
  2. * Definition for a binary tree node.
  3. * struct TreeNode {
  4. *     int val;
  5. *     TreeNode *left;
  6. *     TreeNode *right;
  7. *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
  8. * };
  9. */
  10. class Solution {
  11. public:
  12.     TreeNode* inorderSuccessor(TreeNode* root, TreeNode* p) {
  13.         if(root == nullptr) {
  14.             return nullptr;
  15.         }
  16.         if(p -> val >= root -> val) {
  17.             return inorderSuccessor(root -> right, p);
  18.         } else {
  19.             TreeNode* node = inorderSuccessor(root -> left, p);
  20.             return node == nullptr ? root : node;
  21.         }
  22.     }
  23. };
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表