㈠ 算法面试通关40讲 覃超 Leetcode 题目总结(未完待续)
主要是自己收集的题目,正在学习王争老师的数据与算法结构之美和覃超老师的算法面试通关四十讲,两位老师推荐很经典的面试题。所以为了方便自己,在这里做一个汇总。如果对你有帮助那当然好,或者也可以看参考资料,里面有很多优秀的Github的资源。
参考资料
算法复杂度查看: https://www.bigocheatsheet.com/
C语言解法推荐: https://github.com/begeekmyfriend/leetcode
java解法推荐: https://github.com/azl397985856/leetcode
数据结构与算法之美(王争)(有各种语言的版本): https://github.com/wangzheng0822/algo
Github 40K star leetcode: https://github.com/azl397985856/leetcode
Github 13K star Leetcode: https://github.com/haoel/leetcode
Github 63K star 用动画的形式呈现解LeetCode题目的思路: https://github.com/MisterBooo/LeetCodeAnimation
python 解法: https://github.com/qiyuangong/leetcode
其他解法: https://github.com/qiyuangong/leetcode
06|面试题:反转一个单链表&判断链表是否有环
数据与算法结构之美:
21 Merge Two Sorted Lists 【 C 】【 python 】
删除链表倒数第 n 个结点 【 Leetcode 的解题 】
求链表的中间结点 Middle of the Linked List
20 Valid Parentheses
232 Implement Queue using Stacks 【 C 】【 My C solution 】
225 Implement Stack using Queues 【 C 】
703 Kth Largest Element in a Stream
239 Sliding Window Maximum
242 Valid Anagram
1 Two Sum 【 C 】
15 3Sum
18 4Sum
98 Validate Binary Search Tree
235 Lowest Common Ancestor of a Binary Search Tree
236 Lowest Common Ancestor of a Binary Tree
50 Pow(x, n)
169 Majority Element
122 Best Time to Buy and Sell Stock II
冒泡排序,选择排序,插入排序,供参考:【 C 】
(未完待续,大概等我做完上面这些就可以继续补充剩下的了吧)
㈡ 字节交叉面试会考算法吗
会的。
1.字节跳动并不会特别关心候选人使用什么编程语言,逻辑很简单,你Java特别厉害,那转Go语言肯定不难。当然,如果你觉得难,那大概率也通不过后面的面试。
2.在整个的面试流程中,至少会有3轮技术面,并且每一轮面试都会考算法。不管你是工程师,还是架构师。
3.为什么要考这么多算法?其实核心是看候选人是不是足够聪明。和Netflix一样,字节跳动招聘工程师的必要条件就是聪明。
4.怎么考算法呢?一般会分两步,第一步是直接让你说思路,第二步是让你直接上手写代码。字节跳动的算法题一般对应的是LeetCode中级模式,要通过面试,你肯定得花时间好好准备。
5.写算法代码的时候,你可以用白板,也可以用电脑,都行。常见的模式是给你20分钟时间,让你写出来某道题的解法。当然,肯定是越快做出来越好,这能说明你的熟练程度。
㈢ 这几个Java网站,有点刺激
一、LearnJava在线
这是一个非常不错的学习Java的在线网站,纯免费。这是一个个人项目,旨在通过简单有效的在浏览器中进行练习让你快速掌握Java编程语言。通过直接从网络浏览器运行实际代码,你无需在本地安装和执行代码就可以尝试编码,这无疑提高了编程效率和上手效率。
你可以根据目录进行练习,有基础部分和高级部分,首先有例子代码,告诉你需要注意的事项以及详细的讲解,旨在把你教会后再让你进行练习。
二、StackOverflow
说到学习Java,怎么能不提StackOverflow呢?StackOverflow是一个与程序相关的T技术问答网站。用户可以在网站免费提交问题,浏览问题,索引相关内容,在创建主页的时候使用简单的HTML。在问题页面,不会弹出任何广告,销售信息,JavaScript窗口等。
干净清爽,基本上所有的问题你在StackOverflow都能找到答案,你可以提出公共问题,也可以提出私人问题,甚至可以在StackOverflow上找工作。
三、DZone
DZone上会有T前沿的新闻和文章,会有Al、大数据、云、数据库、DevOps、loT、Java还有开源项目关干Java新特性的介绍,新特性的使用都会在上面,是你掌握前沿动态不可或缺的网站。
四、LeetCode
LeetCode是一个很牛逼的刷题网站,它的重要性不用我多说7吧里面包括大量的算法题,这些算法题是大厂面试必出的题型,据说掌握了这些算法题后,你可以吊打中国任何一家大厂,是不是真的咱也不知道,毕竟咱们没做过几道题。
问题可以区分难易程度,有解决措施,接受度,困难程度等,还有大厂公司的面试题因为LeetCode太牛逼了,LeetCode推出7中文版,中文为力扣几平和英文版的一模一样,如果小伙伴英文不手首是很好可以看看中文版。
五、Java官方文档
学习Java,还有什么比官网更权威的呢?我之前一直不知道官网能做的这么干净,你来看一下包含各种内容,总榄,编程语言,工具,特性,JM等,只不过语言有一些生硬,需要强大的英文功底,不过现在有谷歌翻译后我觉得这些问题也都不是问题。
六、Coursera
Coursera是一个在线课程网站,是为大厂量身定做的,就和国内很多在线教育机构类似,不过真实性如何不能确保,毕竟身边没有小伙伴抱过课程。Coursera是大型公开在线课程项目,由美国斯坦福大学两名计算机科学教授创办。旨在同世界顶尖大学合作,在线提供网络公开课程,它与全世界最顶尖的大学和机构合作,提供任何人可学习的在线课程。
七、Java World
Java World是一个纯Java学习网站,它里面包括很多Java文章,它不同干DZone的领域那么多,Java World只缓衫专注干Java,哦对了,还有安卓,是你提高视野,学习Java新特性毕哪数不可或缺的网站。
八、Java程序猿圈
Java World是一个纯Java学习网站,它里面包括很多Java文章,它不同干DZone的领域那么多,Java World只专注干Java,哦对了,还有安卓,是你提高视野,学习Java新特性不可或缺的网站。