打算下年去加拿大读it的college,去之前想尽快提前开始刷题和弄一个full-stack的个人网站用来展示自己的portfolio。 我目前打算看完berkeley的cs61ab,coursera的algo I&II就开始,这些知识够我开始用java刷essy的题目吗。 请问还要要学一点discrete math和object-oriented的概念吗。 谢谢大佬们
nmsl_hongdi · 2022-07-02 14:05:39 UTC · +3 ·
iektw0x· ↗至少学点Java语法?
5akura · 2022-07-02 14:28:11 UTC · +1 ·
iekwom7·OP· ↗嗯嗯感觉要先搞清楚这个
nmsl_hongdi · 2022-07-02 14:29:32 UTC · +3 ·
iekwurm· ↗discrete math和OO先别学 对刷题没有帮助
Ubengable_Weird_Ass · 2022-07-02 14:23:17 UTC · +29 ·
iekw1wr· ↗建议先学JavaSE,过一遍JavaSE之后再学数据结构与算法(cs61b或者别的渠道),然后再开刷力扣,可以按频率刷,或者按leetbook专题(比如数组专题,链表专题之类的),有一定题量积累之后可以参与周赛,或者模拟面试这种相对更有时间限制紧张氛围的模式。
5akura · 2022-07-02 14:28:49 UTC · +5 ·
iekwrj8·OP· ↗很详细谢谢🙏
[deleted] · 2022-07-02 15:10:11 UTC · +5 ·
iel28nf· ↗刷题顺序可以去搜labuladong
5akura · 2022-07-02 15:19:14 UTC · +2 ·
iel3gnm·OP· ↗谢谢先收藏了
[deleted] · 2022-07-02 15:28:12 UTC · +2 ·
iel4ojf· ↗我是网工最近刚转开发,也是刚开始学,OP共勉💪
whoooops- · 2022-07-02 14:38:06 UTC · +1 ·
iekxybj· ↗cs61b在哪学呢
Ubengable_Weird_Ass · 2022-07-02 15:03:17 UTC · +2 ·
iel1a6t· ↗油管上有一些Josh Hug教授上传的课程
whoooops- · 2022-07-02 15:29:18 UTC · +1 ·
iel4tv6· ↗好像不全呢
Ubengable_Weird_Ass · 2022-07-02 15:49:28 UTC · +4 ·
iel7k1b· ↗https://www.youtube.com/playlist?list=PLgNUCz66KaWRSVzIeT_qB2yBgHocLmRWI
这有个合集,标题倒是声称complete
whoooops- · 2022-07-02 17:42:31 UTC · +1 ·
ieln361· ↗感谢
[deleted] · 2022-07-02 14:47:33 UTC · +3 ·
iekz7lh· ↗友友们怎么看OO,我看现在 Rust 这些新语言都没有继承了
[deleted] · 2022-07-02 15:03:37 UTC · +4 ·
iel1byi· ↗另外现在的Java开发是不是滥用了OO?看到现在CRUD的小项目都几十个class,看Spring源码里面的继承关系复杂到看吐了
springeverythingaaa · 2022-07-02 18:51:34 UTC · +1 ·
ielwfto· ↗这个东西你经验多了就懂了。。。。现在可以先别管。
[deleted] · 2022-07-02 19:35:41 UTC · +2 ·
iem28hc· ↗也许吧,我之前也写过C#,也没有这个问题, .NET自带的的依赖注入配置也比较简单
感觉是Java语言功能太少导致的,没有extension method是其中之一,C# 的类型系统也更强大一点(指能让泛型接口static dispatch),虽然比不过Scala的就是了
Dont_feed_theUnicorn · 2022-07-03 00:18:48 UTC · +1 ·
ien21ly· ↗试试Golang?
[deleted] · 2022-07-03 01:52:26 UTC · +1 ·
iencqk1· ↗Go也没有extension method,Rust有extension trait
比起Go更想用Rust
Dont_feed_theUnicorn · 2022-07-03 02:02:18 UTC · +1 ·
iendumk· ↗怎么大家都在promote rust,这下不得不学了😂
[deleted] · 2022-07-02 20:01:29 UTC · +1 ·
iem5k6n· ↗Java还有一个设计得不好的地方就是Checked Exception,Spring把这些都包装成了Unchecked Exception,而Scala Kotlin Groovy都没有Checked Exception,所以感觉Spring这样复杂的设计目的之一就是为了绕过Java的一些限制
springeverythingaaa · 2022-07-02 20:04:04 UTC · +1 ·
iem5wc2· ↗我对这方面研究过一些,有一些感悟。我们可以探讨一下?私信你了。
zakura61 · 2022-07-02 15:42:39 UTC · +3 ·
iel6mug· ↗Rust还是挺支持OO的,只不过继承换个了名字,把实体类和抽象类分开,还是OO那一套
zakura61 · 2022-07-02 15:43:08 UTC · +2 ·
iel6p7l· ↗不过FP才是未来,Elixir大法好!
[deleted] · 2022-07-02 16:59:39 UTC · +1 ·
ielh5hc· ↗https://queue.acm.org/detail.cfm?id=3212479
此文的作者也持这种观点,设想了一种为Erlang设计的计算机
[deleted] · 2022-07-02 17:01:59 UTC · +1 ·
ielhha7· ↗我若既要用Java找工作,又要用FP,我是不是该看看Scala?
springeverythingaaa · 2022-07-02 18:52:03 UTC · +0 ·
ielwi70· ↗这个语言没有公司招
zakura61 · 2022-07-03 02:01:21 UTC · +2 ·
iendqrk· ↗用java就别FP了
[deleted] · 2022-07-03 02:39:02 UTC · +1 ·
ienhyxf· ↗你是认为非纯FP非FP?
[deleted] · 2022-07-16 14:49:45 UTC · +1 ·
igefakw· ↗这几天玩了玩Elixir,和其他玩过的FP语言一样都大量使用Linked List而非Vector,我还需要时间接受,如果性能这个问题不解决FP能成为未来吗?
[deleted] · 2022-07-16 17:28:36 UTC · +1 ·
igf1jlq· ↗现在发现了Gleam语言,和Rust有相似的语法,编译器也是Rust编写,静态类型,非纯FP,同样运行在BEAM虚拟机上,感觉是Rust with GC
zakura61 · 2022-07-16 18:27:56 UTC · +1 ·
igf9x8l· ↗听上去是把Rust的优点之一给扔了
[deleted] · 2022-07-16 18:56:52 UTC · +1 ·
igfdyfu· ↗有人用Go不用Rust就是因为Rust没有GC自动管理对象生命周期
基于BEAM等于附送了Goroutine等价物
Rust本身有第三方GC库,C/C++也有bdwgc,具体实现细节run后再研究
据传C# 12终于要加入 discriminated union,都是MS 家的,不知道为什么不让 F# 上位
.NET 个人感觉不错,工具链非常友好,但是 C# 感觉当年抄 Java 带来历史包袱太多,至今没有free function,想写procedure还得思考如何取类名,如何组织类,盼 F# 归
Anarco-Statist · 2022-07-02 16:32:58 UTC · +8 ·
ieldhhm· ↗学个几把,当年搞竞赛都是给题直接做,做不出背答案,背多了就懂了
[deleted] · 2022-07-02 16:51:04 UTC · +1 ·
ielfz5y· ↗难道你们说的刷题指的是刷Codeforces?
Hollande_Uranus · 2022-07-02 18:14:18 UTC · +1 ·
ielrfy5· ↗你是当年靠竞赛考大学的?
Anarco-Statist · 2022-07-02 20:22:21 UTC · +4 ·
iem89kl· ↗傻批高考狗都不考
Hollande_Uranus · 2022-07-02 20:53:13 UTC · +1 ·
iemc7fo· ↗所以你是竞赛保送还是直接出国读本了?
Anarco-Statist · 2022-07-02 20:57:31 UTC · +2 ·
iemcqvc· ↗晶哥别问了
Hollande_Uranus · 2022-07-02 21:25:09 UTC · +0 ·
iemg9zg· ↗我不是晶哥。。
RemoteHoney · 2022-07-02 22:13:47 UTC · +2 ·
iemmg7k· ↗晶姐妳好
Hollande_Uranus · 2022-07-02 22:31:22 UTC · +-8 ·
iemonym· ↗你看我像娘们?
shogunpang · 2022-07-02 17:58:54 UTC · +5 ·
ielpbzq· ↗我自己是学完了coursera algo I&II然后刷leetcode的,但是那个时候你会发现leetcode的easy太easy了..
那门课的作业评分系统做得挺好的,好好做作业的话能学到不少java语法或者style方面的东西。
killzhinakillkill · 2022-07-02 18:05:47 UTC · +3 ·
ielqa63· ↗数据结构和java手册 java比较通用 还没c++难数据结构是刷题基础
5akura · 2022-07-03 00:05:20 UTC · +1 ·
ien0g6x·OP· ↗好的,这个手册在哪里学比较好,youtube吗
killzhinakillkill · 2022-07-03 04:49:21 UTC · +1 ·
ienvnaa· ↗就找点门槛低的网课 手册网上找
Vast_Spite8928 · 2022-07-02 18:38:06 UTC · +1 ·
ielunxj· ↗直接看算法竞赛入门经典
[deleted] · 2022-07-02 18:41:34 UTC · +1 ·
ielv46l· ↗里面写的代码风格太差了
Weary_Region2683 · 2022-07-02 20:33:02 UTC · +1 ·
iem9n53· ↗我直接先学c++,途中既有数据结构也有oop。感觉挺好。刷题就用python
5akura · 2022-07-03 00:00:44 UTC · +1 ·
iemzw21·OP· ↗我怕c++太难自学学不会
[deleted] · 2022-07-03 01:16:27 UTC · +3 ·
ien8nlr· ↗C with Classes可以看看,学习它的对象实现原理,例如非静态成员函数实质是隐式传入了this指针,virtual函数是编译器生成了vtable进行dynamic dispatch
[deleted] · 2022-07-03 01:17:20 UTC · +2 ·
ien8r35· ↗RAII也是很重要的,然后你就可以去看Rust了
Dont_feed_theUnicorn · 2022-07-02 22:18:12 UTC · +4 ·
iemn0a8· ↗可以按tag刷,比如你今天学了DP,就去leetcode上疯狂刷DP的题,完全搞懂再换下一个tag
5akura · 2022-07-03 00:01:13 UTC · +1 ·
iemzy64·OP· ↗这个不错谢谢
[deleted] · 2022-07-03 02:35:34 UTC · +1 ·
ienhk61· ↗[deleted]
[deleted] · 2022-07-03 02:57:15 UTC · +4 ·
ienk0gx· ↗[deleted]
5akura · 2022-07-03 03:06:11 UTC · +1 ·
ienl05q·OP· ↗不求最优解
听说公司面试会要求用big O给出最优解?
TXKlaaaa · 2022-07-03 07:42:07 UTC · +3 ·
ieo9ens· ↗先学点数据结构和算法设计的基本知识。然后直接开做,不会就抄。抄多了就会了
shinaman_ · 2022-07-03 08:42:09 UTC · +1 ·
ieodjoi· ↗可以去花钱买acwing的算法基础课,如果不想花钱就去看代码随想录 这是我自己学算法的方法
5akura · 2022-07-03 09:10:34 UTC · +1 ·
ieofh7n·OP· ↗代码随想录
谢谢这个网站我先收藏
Zapung · 2022-07-06 21:53:22 UTC · +1 ·
if4n9mv· ↗直接b站搜尚硅谷的Java入门视频看一遍,然后再看多一套数据结构的视频,再刷算法题吧
Realistic_Bell_9256 · 2022-07-08 16:04:56 UTC · +1 ·
ifcxure· ↗就你还尼寇?
fgs78ejlfs · 2022-07-19 15:32:07 UTC · +1 ·
igsfg2l· ↗零基础的话, leetcode从easy开始, 多重复几遍再做medium然后hard。我的经验是不要叫自己太沮丧, 先搞懂简单的题。
语言用哪个都可以, 最好会java或c++。 我就是这么转码的。 完全没上过课。
不需要学discrete math, 但是Object oriented programming 要懂。