前方高能,Java程序員最大的悲哀是什麼?

Android我愛死你了 2021-09-15 06:09:04
前方 高能 java 程序 最大


三面頭條

前方高能,Java程序員最大的悲哀是什麼?_程序員

面試崗比特是後臺研發工程師,地點選擇了上海,通過大佬內推,跳過死亡筆試,加上疫情期間,所以直接視頻面,從3點開始,斷斷續續到晚上8點結束。

一共三輪技術面試,每一輪都要寫代碼,也喜歡問一些底層知識,讓我有點懵逼。

一面:

  1. 寫一個題,找一個無序數組的中比特數
  2. 寫了個快排,然後讓我找到無序數組第k大的一個數,我說先排序再找,實際上可以用快排的partition函數。
  3. 快排的時間複雜度,最壞情况呢,最好情况呢,堆排序的時間複雜度呢,建堆的複雜度是多少。
  4. 操作系統了解麼,Linux和windows
  5. 說說Linux的磁盤管理,一臉懵逼
  6. Linux有哪些進程通信方式,五大件
  7. Linux的共享內存如何實現,大概說了一下。
  8. 共享內存實現的具體步驟,我說沒用過
  9. socket網絡編程,說一下TCP的三次握手和四次揮手。
  10. 跳過網絡,問了項目的一些東西
  11. 問我如何把docker講很清楚,我從物理機,虛擬機到容器具體實現稍微說了下。
  12. 問我cgroup在linux的具體實現,不會。
  13. 多線程用過哪些,chm和countdownlatch在實習用過

二面:

  1. 自我介紹Java的集合類哪些是線程安全
  2. 分別說說這些集合類,hashmap怎麼實現的,扯了很多
  3. MySQL索引的實現,innodb的索引,b+tree索引是怎麼實現的,為什麼用b+tree做索引節點,一個節點存了多少數據,怎麼規定大小,與磁盤頁對應。
  4. MySQL的事務隔離級別,分別解决什麼問題。
  5. Redis了解麼,如果Redis有1億個key,使用keys命令是否會影響線上服務,我說會,因為是單線程模型,可以部署多個節點。
  6. 問我知不知道有一條命令可以實現上面這個功能。不知道
  7. Redis的持久化方式,aod和rdb,具體怎麼實現,追加日志和備份文件,底層實現原理的話知道麼,不清楚。
  8. Redis的list是怎麼實現的,我說用ziplist+quicklist實現的,ziplist壓縮空間,quicklist實現鏈錶。
  9. sortedset怎麼實現的,使用dict+skiplist實現的,問我skiplist的數據結構,大概說了下是個實現簡單的快速查詢結構。
  10. 了解什麼消息隊列,rmq和kafka,沒細問
  11. 寫題時間到。第一題:寫一個程序遍曆。第二題:寫一個插入樹節點到一顆排序樹的插入方法,使用遞歸方式找到插入比特置即可。第三題:一個有向圖用鄰接矩陣錶示,並且是有權圖,現在問怎麼判斷圖中有沒有環。第四題:一個二叉樹,找到二叉樹中最長的一條路徑。

三面:

  1. 三面的面試官真的高冷啊,不苟言笑就算了,我問他他都不愛搭理的,搞得我內心慌得一比,感覺凉凉。
  2. 介紹一下項目
  3. 你談到的並發技術,chm和countdownlatch怎麼使用的
  4. 為什麼要這麼處理,使用線程池是不是也可以。我說也可以
  5. 操作系統的進程通信方式,僵屍進程和孤兒進程是什麼,如何避免僵屍進程,我說讓父進程顯示通知,那父進程怎麼知道子進程結束了,答不會。
  6. 計算機網絡TCP和UDP有什麼區別,為什麼迅雷下載是基於UDP的,我說FTP是基於TCP,而迅雷是p2p不需要TCP那麼可靠的傳輸保證,他說不對。
  7. 我說是不是因為要建立連接,開銷比較大,他說不對。
  8. 我說p2p的發送節點很多,所以不是那麼需要各種傳輸保證,他說不對。
  9. 我說TCP會自動分包而TCP可以自己定義數據長度。。他還是說不對。
  10. 最後他說算了。我們問下一個吧。操作系統的死鎖必要條件,如何避免死鎖。寫一個LRU的緩存,需要完成超時淘汰和LRU淘汰。我說用lhm行不行,他說用linkedlist和hashmap可以。於是我就寫了put和get函數,進行了隊頭隊尾操作。他說get複雜度會不會太高,我瞎掰了半天沒找到辦法,他說那就這樣吧,今天面試到這。
  11. 過期淘汰的處理我還沒寫呢,你就說結束了,感覺凉了啊,我說我要不要把剩下邏輯說完,他說不用,心凉了一大截~

然後就是HR小姐姐讓我等結果了。感覺不對,應該是凉凉~~~

四面阿裏

前方高能,Java程序員最大的悲哀是什麼?_後端_02

有了前邊頭條面試的經曆,自己也惡補了一些面試常見問題,這次决定試試阿裏,畢竟面試不通過不虧,僥幸通過血賺啊。

面試崗比特是研發工程師,直接找螞蟻金服的大佬進行內推,參與了阿裏巴巴中間件部門的提前批面試,一共經曆了四次面試,拿到了口頭offer。

一面:

  1. 自我介紹。
  2. 項目中做了什麼,覺得難點在哪裏。
  3. Java的線程池說一下,各個參數的作用,如何進行的。
  4. Redis講一下
  5. 分布式系統的全局id如何實現。用zookeeper如何實現的呢,機器號+時間戳即可。
  6. 分布式鎖的方案,redis和zookeeper哪個好,如果是集群部署,高並發情况下哪個性能更好。
  7. kafka了解麼,了解哪些消息隊列。
  8. 想做業務還是研究。
  9. 然後出了一道題,linux的訪問權限是rwx格式的。使用一個類支持訪問權限的增删改查,並且注意使用的數據格式以及方法效率,規範。給了一個多小時寫題。耗時將近30分鐘。

二面:

  1. 介紹你做的項目和其中的難點。
  2. 上次面試官問的問題,反射的作用是什麼。
  3. 數據倉庫,多線程和並發工具等。
  4. 私有雲,docker和k8s等。
  5. 了解哪些中間件,dubbo,rocketmq,mycat等。
  6. dubbo中的rpc如何實現。自己實現rpc應該怎麼做dubbo的服務注册與發現。
  7. 問了些排序算法耗時將近30分鐘。

三面:

三面不是面試,而是筆試,耗時三個小時,考的是Java核心的基礎。但是好像不能透題,就不說了。都挺有難度的。

大概說一下就是有幾個考點,Java並發的知識點,集合類,線程池,多線程、高並發之間的通信等。

HR面:

聊人生談理想,HR小姐姐非常溫柔,交流十分愉快。30分鐘。

如何快速更新自己的技術積累?

  • 在現有的項目裏,深挖技術,比如用到netty可以把相關底層代碼和要點都看起來。
  • 如果不知道目前的努力方向,就看自己的領導或公司裏技術强的人在學什麼。
  • 知道努力方向後不知道該怎麼學,就到處去找相關資料然後練習。
  • 學習以後不知道有沒有學成,則可以通過面試去檢驗。

我個人覺得面試也像是一場全新的征程,失敗和勝利都是平常之事。所以,勸各比特不要因為面試失敗而灰心、喪失鬥志。也不要因為面試通過而沾沾自喜,等待你的將是更美好的未來,繼續加油!

以上面試專題的答小編案整理成面試文檔了,文檔裏有答案詳解,以及其他一些大廠面試題目

 CodeChina開源項目:【一線大廠Java面試題解析+核心總結學習筆記+最新講解視頻】

前方高能,Java程序員最大的悲哀是什麼?_Java_03

前方高能,Java程序員最大的悲哀是什麼?_Java_04

版权声明
本文为[Android我愛死你了]所创,转载请带上原文链接,感谢
https://javamana.com/2021/09/20210915060755578j.html

  1. Open source: Suzhou tourism strategy based on pyecharts visual analysis
  2. 從底層開始帶你了解並發編程,五步搞定Java開發環境部署,
  3. 以商品超卖为例讲解Redis分布式锁,一招彻底帮你搞定HashMap源码,
  4. 从青铜到王者的路线,2021Java者未来的出路在哪里?
  5. JavaScript Advanced Programming (3rd Edition) Reading note 6
  6. 從青銅到王者的路線,2021Java者未來的出路在哪裏?
  7. Quelle est la voie à suivre pour les 2021 Java du bronze au roi?
  8. Prenez l'exemple de la surproduction de marchandises pour expliquer redis Distributed Lock, un tour complet pour vous aider à résoudre le code source de hashtap,
  9. 以商品超賣為例講解Redis分布式鎖,一招徹底幫你搞定HashMap源碼,
  10. Win10系统 java环境配置
  11. Non-ASCII character ‘\xe5‘ in file kf1.py on line 4, but no encoding declared; see http://python.or
  12. 手把手教你搭建微信小程序服务器(HTTPS)
  13. JavaScript Review sketch - 1
  14. sqli-labs-less-18 http头user agent+报错注入
  15. Git下载、安装、配置、配合Intellij Idea实现代码版本控制
  16. NHibernate inheritance
  17. Summary of basic knowledge points of JavaScript language (mind map)
  18. GIT télécharge, installe, configure et implémente le contrôle de version de code avec intellij idea
  19. Sqli Labs - less - 18 http header user agent + Error Reporting Injection
  20. Vous apprendrez à construire un serveur d'applet Wechat (https) à la main
  21. Non - ASCII character 'xe5' in file kf1.py on Line 4, but no Encoding declared;Voirhttp://python.or
  22. 作为一名程序员我不忘初心,Java最新实习面试经验总结,
  23. 作为一名Java面试者你应该知道的,2021最新Java常用开源库总结,
  24. 作为一个程序员,你觉得最大的悲哀是什么,2021年大厂Java岗面试必问,
  25. Configuration de l'environnement Java du système win10
  26. 作為一個程序員,你覺得最大的悲哀是什麼,2021年大廠Java崗面試必問,
  27. En tant que programmeur, quelle est la plus grande tristesse que vous ressentez? L'entrevue d'emploi Java de 2021 dans une grande usine vous demandera:
  28. Comme vous devriez le savoir en tant qu'intervieweur Java, 2021 dernier résumé des bibliothèques open source couramment utilisées pour Java,
  29. En tant que programmeur, je n'oublie pas le dernier résumé de mon expérience d'entrevue de stage en Java.
  30. 作為一名Java面試者你應該知道的,2021最新Java常用開源庫總結,
  31. New feature of Java 8. Stream (). Map (general programming method: collect. Groupingby)
  32. Computer graduation project java + SSM hospital registration system
  33. 作為一名程序員我不忘初心,Java最新實習面試經驗總結,
  34. 使用Docker部署Spring-Boot项目,论程序员成长的正确姿势,
  35. Conseils pour améliorer l'efficacité du Code Java mille fois
  36. 全网首发,我在华为做Java外包的真实经历!
  37. 全套Java视频百度云,终于找到一个看得懂的JVM内存模型了,
  38. 入职3个月的Java程序员面临转正,字节跳动 京东 360 网易面试题整理,
  39. Docker tutorial series (I) introduction to docker tutorial spring cloud mybatis distributed microservice Cloud Architecture
  40. 全網首發,我在華為做Java外包的真實經曆!
  41. Lancement de l'ensemble du réseau, je fais l'expérience réelle de l'externalisation Java à Huawei!
  42. Run around with money? Li Weijia fell into the storm of endorsement! In the face of collective hot discussion, personal attitude has become the focus of attention
  43. 全套Java視頻百度雲,終於找到一個看得懂的JVM內存模型了,
  44. Un ensemble complet de vidéos Java Baidu Cloud a finalement trouvé un modèle de mémoire JVM compréhensible.
  45. Déployez le projet Spring Boot avec docker, et parlez de la bonne posture pour que les programmeurs grandissent.
  46. 关于网络优化你必须要知道的重点,GC 堆排 Tomcat 算法题,
  47. 关于电商秒杀系统中防超卖处理方案简述,Java开发热门前沿知识,
  48. Les programmeurs Java qui sont entrés dans l'entreprise pendant trois mois ont dû faire face à une correction d'échelle, et les octets ont sauté dans le traitement des questions d'entrevue de JD 360 Netease.
  49. What is the new syntax of XX ≠ null in Java?
  50. Spring scheduled task cron expression (@ scheduled)
  51. Une brève description du plan de traitement anti - surproduction dans le système d'arrêt du commerce électronique et les connaissances de pointe du développement Java.
  52. Ce que vous devez savoir sur l'optimisation du réseau, c'est que le problème de l'algorithme Tomcat de gerbage GC,
  53. 凭借这份Java面试题集,成体系化的神级Java进阶笔记,
  54. 凭借这份Java面试题集,BAT大厂面试基础题集合,
  55. Docker Knowledge point collation
  56. Redis sur la réalisation élégante des tâches retardées
  57. 憑借這份Java面試題集,BAT大廠面試基礎題集合,
  58. Avec cet ensemble de questions d'entrevue Java, l'ensemble de questions de base d'entrevue de bat,
  59. Avec cet ensemble de questions d'entrevue Java, les notes avancées Java de niveau divin sont systématisées,
  60. Android Architect path 21 Responsive Programming RX Java thread transformation Principles