Java开发还不会这些?java程序的执行过程
Posted 数据库面试题
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java开发还不会这些?java程序的执行过程相关的知识,希望对你有一定的参考价值。
面试前的准备
老实说,我自己平常没事就会看一些面试题,所以我都是直接去面的。不过我还是要建议大家如果准备面试的话,需要做以下准备
-
背题:看一看最近的面经文,了解现在公司都在面什么类型的题,准备一些常见题,开背吧!如果一些基础的 js 都不会那问题就有点小大了。
-
算法:做一些算法题,leetcode 上面的一二三星就够了,前端算法很简单,基本都是初中数学的难度吧。
-
项目:项目回顾,把你做的项目从技术架构到源码都要做到足够了解,至少面试的时候不要被面试官问住了。并且要体现出你在工作中的作用,体现出自驱性(大公司都很看重自驱性)
-
亮点:准备亮点,回答问题的时候不用全部回答上来,但是在面试的过程中一定要有亮点(不然你就会得到反馈,面试官说你还行,但是没有过~) 我一般会准备几个点,每个点都保证可以睡上半小时。另外一定要了解得很深入,并且能够用自己的话流畅的表达出来!!(我准备的几点,性能优化、工程化、缓存、http)
-
内推:最好找人内推,成功率会提高一些
-
练手:先找几家不太想去的公司(规模差不多)练练手,如果第一次面试就去心仪的公司面试,淘汰率会非常高。
-
心态:心态很重要,面试不过很正常,不证明你不优秀,只是不适合,总结面试经验,为下一次做准备。
-
答题:怎么把自己会的问题说好,这个很关键
-
逻辑清晰:一定要逻辑清晰,不然即使你知道这个问题的答案,面试官也不会满意,如果你逻辑清晰,即使这个答案不会,面试官也会给你加分
-
独特理解:现在的面试题大同小异,那么如何体现出你的优势就很重要。结合业务以及你自身的知识储备来讲
-
深入思考:对每个问题一定要有深入的思考,不然就很难进入大公司了,深度上要有一个拔高才能在面试中获得好的成绩
-
流畅表达:面试就是一个表达的过程,一些问题心里明白不行,还要流畅的表述出来,基本上如果面试官觉得你表达的很流畅,当你讲到一半就不会再让你说下去了,证明已经通过了
刷题绝对是最重要的,于是问了我在阿里的同学要来了一全套他们公司P8整理的系列大厂面试题,刷到天昏地暗,如今既完美收官了,这些面试题还有自己之前收集整理的一份核心架构进阶知识点。存在网盘也没太大的用处,所以在这里免费分享出来给有需要的朋友
字节跳动4面(3面技术+1面HR)面试经历
1.1 字节跳动一面
-
首先自我介绍,balabala……(此处省略三分钟)
-
找一个你的项目说一下,首先你的项目介绍,承担了什么职责,做了哪些工作,难点(因人而异,这就不再赘述了,balabal……(省略三分钟))
-
从你项目中看出,你使用的是mysql,mysql的int数据类型都有哪些?从小到大说一下,各占多少字节?
-
java中的int都有哪些?字节占多少
-
问你一个关于计算机网络的,tcp的三次握手说一下?
-
tcp和udp的区别?
-
你说你熟悉linux,我给你一个案例,搜索出log文本中出现次数最多的IP,并且给出次数
-
说下java的gc?
-
说一下hashmap这个数据结构?
-
进行一次查找的话haspmap的时间复杂度是多少?
-
给你一个算法你看一下,有一个无限长的整型数组,从小到大排序,非递增。那么怎么找到数组中一个key?
-
闲聊
之后就问了我最近看了哪本书,学到了什么,最近还在学的什么技术呢?问了我职业规划,兴趣爱好,还说了说公司的语言选型,我后来问了下对于我的面试表现评价,人家不方便说,又问了新人培养等问题。
1.2 字节跳动二面
-
自我介绍(balabla)
-
然后说一说mysql的索引结构吧
-
看一道题吧,这个题怎么建立索引
(1)第一道题: mysql订单表有几个属性:订单id,用户user_id、下单日期date(精确到天)等,请问索引怎样建立 a. 查询某个用户的所有订单 b. 查询某一天的所有订单 c. 查询某一天某个用户的所有订单 (2)第二道题: 10G文件,每一行一个 uint32 数字。有一台1G内存的机器 - A. 找出最大的 k 个数 - B. 找出重复数字 (3)第三道题: 我手中有一堆扑克牌, 但是观众不知道它的顺序。 第一步, 我从牌顶拿出一张牌, 放到桌子上。 第二步, 我从牌顶再拿一张牌, 放在手上牌的底部。 第三步, 重复第一/二步的操作, 直到我手中所有的牌都放到了桌子上。 最后, 观众可以看到桌子上牌的顺序是:13\\12\\11\\10\\9\\8\\7\\6\\5\\4\\3\\2\\1 请问, 我刚开始拿在手里的牌的顺序是什么?用代码实现以下
1.3 字节跳动三面
这个面试官应该是一个总监级别的,说话非常的硬气,肯定是一个资深大佬,一共面了40多分钟。常规的面试基础都没问,纯怼项目和算法了。
-
自我介绍
-
你觉得你目前遇到的困难有哪些?项目上的难点?
-
你的项目数据库多大?QPS多少?哪些sql比较慢?(项目上的事我就不说了……balaba)
-
那你觉得以后qps更大的话,你该怎么设计?
-
给你一个算法题,你来看一下思路
-
那留两分钟咱们聊一聊,你有什么想问我的
1.4 字节跳动四面
HR面,大约35分钟,主要是问个人职业规划、薪资待遇,以及对字节跳动的期许等等
最后
看完上述知识点如果你深感Java基础不够扎实,或者刷题刷的不够、知识不全面
小编专门为你量身定制了一套<Java一线大厂高岗面试题解析合集:JAVA基础-中级-高级面试+SSM框架+分布式+性能调优+微服务+并发编程+网络+设计模式+数据结构与算法>
针对知识面不够,也莫慌!还有一整套的<Java核心进阶手册>,可以瞬间查漏补缺
全都是一丢一丢的收集整理纯手打出来的——收整在***【我的学习笔记大全】***,有需要的朋友可以自取
更有纯手绘的各大知识体系大纲,可供梳理:Java筑基、MySQL、Redis、并发编程、Spring、分布式高性能架构知识、微服务架构知识、开源框架知识点等等的xmind手绘图~
va筑基、MySQL、Redis、并发编程、Spring、分布式高性能架构知识、微服务架构知识、开源框架知识点等等的xmind手绘图~
[外链图片转存中…(img-iYx9X5fz-1625652384290)]
以上是关于Java开发还不会这些?java程序的执行过程的主要内容,如果未能解决你的问题,请参考以下文章