Jwz, the great God of programmers, and Linux Mint: a "battle of words" caused by a bug that hasn't been fixed for 17 years

InfoQ 2021-01-24 13:59:07
jwz great god programmers linux

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" Two bear children , It triggered a “ The saliva ” War ."}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" When two children are playing on their father's computer , Inadvertently found a way to bypass Linux The screen saver program and the way to lock the system . It's a loophole , It may allow malicious attackers to bypass the screen saver and password of the operating system , Access the desktop that should be locked ."}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" A nickname robo2bobo User in GitHub Upper bug The report said ,“ A few weeks ago , The children are going to visit my Linux desktop . And I'm standing right behind them , Watching them press and shoot everywhere .” Two children press random keys on the physical and soft keyboards at the same time , Eventually lead to Linux Mint The screen saver crashed 、 They have direct access to the desktop ."}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" The programmer's father was surprised , So he asked the children to try again , I didn't expect to succeed ,“ I thought it was just an accident , But then the kids came back with the problem .”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" In the evening , He arrived at Linux Mint Of GitHub This is reflected on the page bug. What I didn't expect was , Immediately other netizens said that in the same desktop environment ,“ His children ” The same thing happened …"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Linux Mint Lead developer Clement Lefebvre After some research , Express :“ This is a high priority error , It needs to be repaired as soon as possible .”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"Bug source :OSK Upper Ē key "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" In the beginning , Developers spent more than a day , I want to reproduce the problem , But it's not that easy :“ Since yesterday , We've never been able to recreate the collapse here .”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/wechat\/images\/c4\/c4473923ce96d57f2319cfc88687ccdd.gif","alt":null,"title":null,"style":null,"href":null,"fromPaste":false,"pastePass":false}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":"center","origin":null},"content":[{"type":"text","text":" Netizens imagine how developers try to reproduce errors "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" according to Clement Introduction to , The problem is ultimately attributed to libcaribou, namely Linux Mint Desktop interface used in Cinnamon The accompanying soft keyboard (OSK) Components . In particular , When the user presses... On the soft keyboard “ē” Key time , this bug It will be triggered ."}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" in the majority of cases , This bug It should lead to Cinnamon Desktop process crash ; But if you open the soft keyboard in the screen saver program , be bug Will cause the screen saver to crash , So users can access the underlying desktop ."}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Lefebvre Express , last year 10 month Linux Mint The system has started to repair CVE-2020-25712 Loophole , But inadvertently introduced this new bug. From then on , All use Cinnamon 4.2 And later versions of Linux Mint Distributions will be affected by this bypass attack . This is because from Cinnamon 4.2 rise , The system starts to add the soft keyboard function to the screen saver ."}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":" Programmer God JWZ:I TOLD YOU!"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" About this bug The discussion of the , It's Jamie · Zawinski (Jamie Zawinski), In this regard, he published a special article , It means that he 17 I warned about it years ago Cinnamon and GNOME official :"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"“ If not in Linux Up operation XScreenSaver, So your screen is not locked .”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/wechat\/images\/f3\/f3a0c60b68f481785e96097b0013eb42.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":false,"pastePass":false}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":"center","origin":null},"content":[{"type":"text","text":" The article is accompanied by a paragraph of blinding “I TOLD YOU” video "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" Born in 1968 Jamie of the year · Zawinski , The English abbreviation is JWZ, yes 《 The matrix 》 in MATRIX The designer of the matrix ."}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" He was also Netscape The main designer of the browser , Born in Pittsburgh , I didn't graduate from high school , Already a gifted programmer ,15 I started at Carnegie Mellon University at the age of Lisp Research and development .90 s , He went to California , Join the famous Netscape :“ You've heard of it before Netscape Before , I've been in charge of developing Netscape Navigator 1.1 Of UNIX Version of the .”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"2004 year ,JWZ For the first time, he was warned that he met Linux Mint A loophole in the , And then every few years ,JWZ It's like this bug. Every time , I make complaints about it once ."}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"CVE-2019-3010, from Oracle Solaris Screen savers get special rights to upgrade ;"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"CVE-2014-1949, MDVSA-2015:162: stay Cinnamon Press the menu key in the screen saver , Press again ESC key , You can go in shell;"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" Press and hold the down key , Unlock Cinnamon Screen saver ;"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" Press and hold enter , Unlock GNOME Screen saver ."}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"JWZ say , As early as 17 Years ago , He even mentioned exactly the collapse bug, To explain “ If you don't follow the design idea , What's going to happen ”, But every time Linux Mint They all replied that “ It has been fixed ”."}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"JWZ Think ,“ Bad security is worse than no security ”, Because of the present Linux The foundation of graphical interface X11 There are serious problems that cannot be fixed : Locking and authentication are operating system level issues ;X11 This mistake in architecture can never be fixed ."}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" In the end, I said :“ I'm very concerned about how they're going to solve this problem .”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"Linux Mint Counterattack : You can go on , other BB!"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" although Linux Mint The patch was released on Wednesday , It can solve this problem bug And effectively prevent potential collapse , but JWZ What was said , I'm angry Lefebvre 了 ."}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/wechat\/images\/5f\/5f60b564411b3f615475b8dcd592faf8.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":false,"pastePass":false}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" It's not too big to watch the excitement , Before, I specially JWZ My blog address has been sent to GitHub Of bug Next report , also at The relevant maintenance personnel ."}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Lefebvre stay GitHub Response on the page JWZ:“ There's no point in writing an article full of sarcasm . I suggest you turn your mouth into action … I hope that you can really participate in the work of 6 Write an email in six months , Tell us ‘ There are still problems , The reason is that 、 Two 、 3、 ... and ……’, Or directly design a beautiful and easy to use 、 Safe and stable locker.”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"size","attrs":{"size":12}},{"type":"strong"}],"text":" And then refuted one by one JWZ Criticism :"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" As early as 2004 year , That is to say 17 Years ago , I've explained in the documentation that I'm in XScreenSaver Design trade-offs made in . I even mentioned the crash exactly bug, To explain “ If you don't follow the design idea , What's going to happen ”."}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" my dear friend , Let others value your opinion , We need to be more pragmatic . It's like me 17 I reminded you years ago “ Don't go out , There could be a car accident .” It's time for something to happen , And tell my friends at the funeral “ I already told him .” The problem is , Does that make sense ? It's time to go out , It's time to get on the highway or , Life is not that safe . Users just want a beautiful screen saver , We are also trying to meet your requirements . Here, please JWZ Man, think about it , How difficult is it to combine security and richness in design . We should have thought about it in our design ? Yes , Anyone can say beautiful things . The point is , At that time, our goal was to provide users with beautiful screen savers , I don't care so much ?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" Even if it is light-locker And KDE In itself , It's more effective than JWZ My idea is more reliable , At least while meeting the security requirements , It provides a solution to the user's needs . We initially released light-locker when , There's no such problem . Because most of us used gnome-scrensaver And mate-screensaver replace xscreensaver. let me put it another way , We accepted xscreensaver The fact that there are security flaws , And publish light-locker I almost forgot about it when I was young . unfortunately ,bug So it's preserved ."}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" And writing cinnamon-screensaver when , It was meant to replace gnome Screen saver . It is a pity that , We still haven't thought of repairing it bug. After all, at that time we even light-locker I didn't even think about it , What's more, is xscreensaver Well . So , That's what caused the problem this time ."}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" In fact, there will always be such problems , Over and over again ."}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" That's the reality , Accept it or not , That's the reality .JWZ I don't seem to understand that —— You can't ban people from doing what they want to do , For example, they are not allowed to cross the road for safety reasons . Even if someone is always reminding , Besides upsetting them , It won't help traffic safety in any way ."}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" Every time bug appear , They all replied that “ It's really a bug, But they've fixed it ”. It's not right , The problem is that it shouldn't be a bug. The real reason is the design of the system . The person who designed the security architecture of the system , There should be no way to make safety ineffective . This is not reasonable ."}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" You can see ,GNOME The team has rewritten the project from scratch ( I'm not sure what design they used in the rewrite phase ), We have similar plans . you 're right , We have made the mistakes that our predecessors have made , In the end, the problem hit us in the head . But it's really boring to be stuck in the past , The most important thing is how to avoid the problem again . We decided to separate the welcome program from the lock program on the development roadmap , This will be in 5.0 It is reflected in the version ."}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" It's easy to catch people's eyes with the most sarcastic blog posts , It also makes us aware of the problem . But our focus should always be on the code itself ( It's not just gnome-screensaver Or other published upstream code , It's the code in the whole project ), When there is a problem, audit it , That's how the project developed ?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"JWZ Despite the questions raised , But no solution is given . Personally , I think both at the security level and the functional level ,light-locker And KDE It should be the best option at present ."}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" For a variety of reasons , This bug It will appear in other screen saver lock programs . It's very difficult to write secure code , Most developers can't do it at all . Locking and authentication are both operating system level issues .X11 This problem in architecture can never be fixed . I have to admit it. , these bug It is worthy of great attention —— Because security is worse than no security ."}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" I agree with the above ."}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" More irritating , It's about development XScreenSaver Lock screen programs are no fun . I'm not interested at all , This function is only added to meet the needs of users ."}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" In fact, most of my friends are like me , I don't want to participate in the security work myself . As a developer , Who doesn't want to do something cool ? And security is actually binding itself , One by one, we'll find out what's missing and fill in what's missing , Prevent malicious people from damaging the whole system . It's important , But no fun ."}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" alas ……"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"XScreenSaver It's a great project , Help users to solve the real needs . As its fork Of gnome-screensaver Is the same , Over the years, it has always served the user community . So although some security risks have been exposed , But project developers have clearly explained why they make such choices and tradeoffs . So I don't think it's necessary to complain —— Problems found , Just solve the problem . We're going to go a step further .JWZ For us, the feedback from the government is equivalent to a reverse push , It also strengthened us “ If not necessary , Do not add entities. ” The basic development concept of ."}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" But I still want to JWZ Brother said , Beautiful words alone can't solve practical problems . The best way , That is, we work together to build the safest road . Yes , Don't complain 、 Don't always stress something “ I said earlier ”, Add to the code audit 、 Add to the function development , Be a problem solver ."}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":" Extended reading :"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https:\/\/www.jwz.org\/blog\/2021\/01\/i-told-you-so-2021-edition\/","title":"","type":null},"content":[{"type":"text","text":"https:\/\/www.jwz.org\/blog\/2021\/01\/i-told-you-so-2021-edition\/"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https:\/\/github.com\/linuxmint\/cinnamon-screensaver\/issues\/354","title":"","type":null},"content":[{"type":"text","text":"https:\/\/github.com\/linuxmint\/cinnamon-screensaver\/issues\/354"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}}]}

  1. 【计算机网络 12(1),尚学堂马士兵Java视频教程
  2. 【程序猿历程,史上最全的Java面试题集锦在这里
  3. 【程序猿历程(1),Javaweb视频教程百度云
  4. Notes on MySQL 45 lectures (1-7)
  5. [computer network 12 (1), Shang Xuetang Ma soldier java video tutorial
  6. The most complete collection of Java interview questions in history is here
  7. [process of program ape (1), JavaWeb video tutorial, baidu cloud
  8. Notes on MySQL 45 lectures (1-7)
  9. 精进 Spring Boot 03:Spring Boot 的配置文件和配置管理,以及用三种方式读取配置文件
  10. Refined spring boot 03: spring boot configuration files and configuration management, and reading configuration files in three ways
  11. 精进 Spring Boot 03:Spring Boot 的配置文件和配置管理,以及用三种方式读取配置文件
  12. Refined spring boot 03: spring boot configuration files and configuration management, and reading configuration files in three ways
  13. 【递归,Java传智播客笔记
  14. [recursion, Java intelligence podcast notes
  15. [adhere to painting for 386 days] the beginning of spring of 24 solar terms
  16. K8S系列第八篇(Service、EndPoints以及高可用kubeadm部署)
  17. K8s Series Part 8 (service, endpoints and high availability kubeadm deployment)
  18. 【重识 HTML (3),350道Java面试真题分享
  19. 【重识 HTML (2),Java并发编程必会的多线程你竟然还不会
  20. 【重识 HTML (1),二本Java小菜鸟4面字节跳动被秒成渣渣
  21. [re recognize HTML (3) and share 350 real Java interview questions
  22. [re recognize HTML (2). Multithreading is a must for Java Concurrent Programming. How dare you not
  23. [re recognize HTML (1), two Java rookies' 4-sided bytes beat and become slag in seconds
  24. 造轮子系列之RPC 1:如何从零开始开发RPC框架
  25. RPC 1: how to develop RPC framework from scratch
  26. 造轮子系列之RPC 1:如何从零开始开发RPC框架
  27. RPC 1: how to develop RPC framework from scratch
  28. 一次性捋清楚吧,对乱糟糟的,Spring事务扩展机制
  29. 一文彻底弄懂如何选择抽象类还是接口,连续四年百度Java岗必问面试题
  30. Redis常用命令
  31. 一双拖鞋引发的血案,狂神说Java系列笔记
  32. 一、mysql基础安装
  33. 一位程序员的独白:尽管我一生坎坷,Java框架面试基础
  34. Clear it all at once. For the messy, spring transaction extension mechanism
  35. A thorough understanding of how to choose abstract classes or interfaces, baidu Java post must ask interview questions for four consecutive years
  36. Redis common commands
  37. A pair of slippers triggered the murder, crazy God said java series notes
  38. 1、 MySQL basic installation
  39. Monologue of a programmer: despite my ups and downs in my life, Java framework is the foundation of interview
  40. 【大厂面试】三面三问Spring循环依赖,请一定要把这篇看完(建议收藏)
  41. 一线互联网企业中,springboot入门项目
  42. 一篇文带你入门SSM框架Spring开发,帮你快速拿Offer
  43. 【面试资料】Java全集、微服务、大数据、数据结构与算法、机器学习知识最全总结,283页pdf
  44. 【leetcode刷题】24.数组中重复的数字——Java版
  45. 【leetcode刷题】23.对称二叉树——Java版
  46. 【leetcode刷题】22.二叉树的中序遍历——Java版
  47. 【leetcode刷题】21.三数之和——Java版
  48. 【leetcode刷题】20.最长回文子串——Java版
  49. 【leetcode刷题】19.回文链表——Java版
  50. 【leetcode刷题】18.反转链表——Java版
  51. 【leetcode刷题】17.相交链表——Java&python版
  52. 【leetcode刷题】16.环形链表——Java版
  53. 【leetcode刷题】15.汉明距离——Java版
  54. 【leetcode刷题】14.找到所有数组中消失的数字——Java版
  55. 【leetcode刷题】13.比特位计数——Java版
  56. oracle控制用户权限命令
  57. 三年Java开发,继阿里,鲁班二期Java架构师
  58. Oracle必须要启动的服务
  59. 万字长文!深入剖析HashMap,Java基础笔试题大全带答案
  60. 一问Kafka就心慌?我却凭着这份,图灵学院vip课程百度云