金三银四:一名已经拿到大厂offer程序员的饭后闲谈
lipiwang 2024-11-02 13:40 16 浏览 0 评论
又到了茶余饭后的时间,想想写点什么,掐指一算,噢呦,快到3月份了,职场的金三银四跳槽季又来了,不同的是今年比往年「冷」一些,形式更加严峻一些,大家多多少少可能都听到或看到一些信息,就是好多公司在优化裁员,代表的就是滴滴、京东这种大型互联网公司,已经官宣了。
即使这种情况下,我相信,3、4月份仍然会有一波离职、求职潮。
作为求职这来说,面试是一道坎,很多人会恐惧面试,即使是工作很多年的老鸟,可能仍存在面试的焦虑。
今天就来说一说
前言
在这里记录一下个人面试中遇到的一些印象较深的问题(有时候紧张不可能全部记得),主要是作为一种经验积累吧。
数据库类
作为后端开发,可以说数据库是重之又重。提问的比例也相当之大。所以这里先记录下这个。
- 如何快速导入10万条数据到MySQL数据库?
这个应该当时很紧张,居然半天说不出来。其实当时心里有一个答案了,就是存储过程。但是因为 平常开发基本上没用到过这东西,所以都不敢说了。。
网上还有有一些答案说批处理,通过sql文件进行导入等等,这个有时间可以去验证一番。
- MySQL主从配置时,如果在主服务器修改某个数据,然后在从服务器中读取,因为延迟或者宕机的问题,导致没有读到数据,应该怎么办?
这个面试官很厉害啊,很多问题都是提一些开放性的东西,只让你提供思路,没有正确与否的标准 答案。
网上找了下,有以下两种技术可以做到主从断开,数据不一致的处理。相信肯定还有更多的技术可以做到,这里只做抛砖引玉~
1.GTID复制;
2.推荐关注:pt-table-checksum /pt-table-sync
3.MySQL默认最大的连接数是多少?
默认为100,可以通过修改my.ini或my.cnf配置文件中的max_connections属性来调整。
SSH相关
SSH(SpringMVC、Struts 2、Hibernate)这几个框架可以说做Java后端开发的基本都接触过,但是真正深入去了解的又有几个呢?一般也就能应付一下工作就完事了吧。。没办法呀,谁让工作的压力太大呢,各种改需求,各种修Bug~
唉,我也不例外,因为我重心就不在这个,想逐渐转到做大数据相关的开发,所以对这块也没浪费精力去深入了解的。但是没办法啊,目前找后端工作还是会经常问到的。
- 说一下SpringMVC 处理客户端请求的过程?
额,当时一听到这个问题就懵了。其实当初刚开始学习这个的时候还真花力气去学过这方面,但是随着工作下去,反而逐渐忘记了。一般我们用都是在web.xml中配置一下DispatchServlet,然后在配置文件中添加自动扫描注解组件,再到类上面添加Controller注解,最后在方法上面添加RequestMapping注解就完事了。但是面试肯定不能这样说啦,我当时也是没办法就把这套给说上去了,感觉还是挺丢人的。这里贴一下图:
PS:图片来自Spring In Action 第四版
- 说一下Hibernate的懒加载机制?
这是一个面试时高概率碰到的问题,之前刷面试题的时候也遇到过这个问题。但是苦逼如我,事到临头反而紧张的搞忘记了。。
网上找的一篇说明:
延迟加载,也叫懒加载,它是hibernate为提高程序执行效率而提供的一种机制,即只有真正使用该对象的数据时才会创建。
Hibernate中主要是通过代理(proxy)机制来实现延迟加载。它的具体过程:Hibernate丛数据库获取某一个对象数据时、获取某一个对象的集合属性值时,或获取某一个对象所关联的另一个对象时,由于没有使用该对象的数据,hibernate并不是数据库加载真正的数据,而只是为该对象创建一个代理对象来代表这个对象,这个对象上的所有属性都是默认值;只有在真正需要使用该对象的数据时才创建这个真实对象,真正从数据库中加载它的数据,这样在某些情况下,就可以提高查询效率。
服务器
Nginx
Nginx如何配置防止DDOS攻击?
因为我也从没遇到过DDOS攻击,所以对这块了解的非常之少。当时也就硬着头皮说根据请求封IP了,其实真正防御起来,花样繁多。最简单有效的方法是堆硬件了。但是成本太高了。。网上找的一些经验,记录一下,万一以后遇到了呢
限制每秒请求数
ngx_http_limit_req_module模块通过漏桶原理来限制单位时间内的请求数,一旦单位时间内请求数超过限制,就会返回503错误。配置需要在两个地方设置:
nginx.conf的http段内定义触发条件,可以有多个条件;
在location内定义达到触发条件时nginx所要执行的动作。
限制IP连接数
ngx_http_limit_conn_module的配置方法和参数与http_limit_req模块很像,参数少,要简单很多。
白名单设置
http_limit_conn和http_limit_req模块限制了单ip单位时间内的并发和请求数,但是如果Nginx前面有lvs或者 haproxy之类的负载均衡或者反向代理,nginx获取的都是来自负载均衡的连接或请求,这时不应该限制负载均衡的连接和请求,就需要geo和map 模块设置白名单。
Nginx参考文章:
http://www.escorm.com/archives/452
Java
transient关键字的作用?
这是在笔试的时候遇到的,原题是给了一段程序片段,问的是序列化的问题。如果在类的属性上添加这个关键字就表示序列化时忽略该属性。
new ArrayList<>(20)其容量一共扩充了几次?
这个题其实也是一个陷阱,如果构造的时候给予一个容量大小,其初始化的时候就会使用该大小的,不会进行扩充。扩充是在调用add方法。
又一个关于String的老生常谈问题,代码片段如下:
String s1 = "hello";
String s2 = "he";
String s3 = "he" + new String("llo");
System.out.println(s1 == s3);
问打印结果为什么?
false,因为手动new String("llo")的形式,会创建2个对象,一个是在常量池中的,一个是在堆上面的对象。如果将s3改为String s3 = "he" + "llo";
那么结果就是true了。
HashMap的内部实现的数据结构是什么?
数组+链表
如何降低HashMap的碰撞问题?
对HashMap进行二次hash。
为了帮助大家少走弯路,我总结出一个Java程序员的工作2-5年成长路线图。
哈哈~各位小伙伴关注我后私信【Java】就可以免费领取哒!
相关推荐
- 一个简单便捷搭建个人知识库的开源项目(MDwiki)
-
这里我通过自动翻译软件,搬运总结MDwiki官网的部署和使用方法。第一步:下载编译好的后MDwiki文件,只有一个HTML文件“mdwiki.html”。第二步:在mdwiki.html同级目录创建“...
- 强大、简洁、快速、持续更新 PandaWiki新一代 AI 驱动的开源知识库
-
PandaWiki是什么PandaWiki是一款AI大模型驱动的开源知识库搭建系统,帮助你快速构建智能化的产品文档、技术文档、FAQ、博客系统,借助大模型的力量为你提供AI创作、AI问答...
- DeepWiki-Open: 开源版Deepwiki,可自己构建github文档库
-
Deepwiki是Devin团队开发的github文档库,用户能免费使用,但代码不是开源,而DeepWiki-Open侧是开源版本的实现。DeepWiki-Open旨在为GitHub和GitLa...
- 最近爆火的wiki知识管理开源项目PandaWiki
-
项目介绍PandaWiki是一款AI大模型驱动的开源知识库搭建系统,帮助你快速构建智能化的产品文档、技术文档、FAQ、博客系统,借助大模型的力量为你提供AI创作、AI问答、AI搜索等...
- 轻量级开源wiki系统介绍(轻量开源论坛系统)
-
wiki系统有很多DokuWiki、MediaWiki、MinDoc等等都是开源的wiki系统。商业版的wiki,像很多企业在用的confluence等。今天我们讲的是一款轻量级且开源的文档管理系统:...
- DNS解析错误要怎么处理(dns解析状态异常怎么办)
-
在互联网时代,网络已经成为人们生活和工作中不可或缺的一部分。然而,当遇到DNS解析错误时,原本畅通无阻的网络访问会突然陷入困境,让人感到十分困扰。DNS,即域名系统,它如同互联网的电话簿,将人们易于...
- 网页加载慢?这些方法让你秒开网页!
-
打开浏览器,信心满满地准备查资料、看视频或者追剧,却发现网页怎么都打不开!是不是瞬间感觉手足无措?别慌,这个问题其实挺常见,而且解决起来并没有你想象的那么复杂。今天就来聊聊网页打不开究竟是怎么回事,以...
- windows11 常用CMD命令大全(windows11msdn)
-
Windows11中的命令提示符(CMD)是一个强大的工具,可以通过命令行执行各种系统操作和管理任务。以下是一些常用的CMD命令,按功能分类整理,供你参考:一、系统信息与状态systeminfo显...
- 电脑提示DNS服务器未响应怎么解决?
-
我们在使用电脑的时候经常会遇到各种各样的网络问题,例如最近就有Win11电脑用户在使用的时候遇到了DNS未响应的问题,遇到这种情况我们应该怎么解决呢? 方法一:刷新DNS缓存 1、打开运行(W...
- 宽带拨号错误 651 全解析:故障定位与修复方案
-
在使用PPPoE拨号连接互联网时,错误651提示「调制解调器或其他连接设备报告错误」,通常表明从用户终端到运营商机房的链路中存在异常。以下从硬件、系统、网络三层维度展开排查:一、故障成因分类图...
- 如何正确清除 DNS 缓存吗?(解决你访问延时 )
-
DNS缓存是一个临时数据库,用于存储有关以前的DNS查找的信息。换句话说,每当你访问网站时,你的操作系统和网络浏览器都会保留该域和相应IP地址的记录。这消除了对远程DNS服务器重复查询的...
- 网络配置命令:ipconfig和ifconfig,两者有啥区别?
-
在计算机网络的世界里,网络接口就像是连接你电脑和外部网络的桥梁,而网络配置则是确保这座桥梁稳固、通信顺畅的关键。提到网络配置工具,ipconfig和ifconfig绝对是两个绕不开的名字。它们一...
- 救急的命令 你会几个?(救急一下)
-
很多人都说小编是注册表狂魔,其实不完全是,小编常用的命令行才是重点。其实所谓的命令行都是当初DOS时代的标准操作方式,随着Windows不断演化,DOS的命令早已成为Windows的一部分了——开始菜...
- 电脑有网却访问不了GitHub原来是这样
-
当满心欢喜打开电脑,准备在GitHub这个“开源宝藏库”里挖掘点超酷的项目,却遭遇了网页无法访问的尴尬。看着屏幕上那令人无奈的提示,原本高涨的热情瞬间被泼了一盆冷水,是不是感觉世界都不美好了...
- rockstargames更新慢| r星更新速度 怎么办 解决办法
-
rockstargames更新慢|r星更新速度怎么办解决办法说到RockstarGames,那可是游戏界的大佬,作品个顶个的经典。但话说回来,每当新内容更新时,那蜗牛般的下载速度,真是让人急得...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- maven镜像 (69)
- undefined reference to (60)
- zip格式 (63)
- oracle over (62)
- date_format函数用法 (67)
- 在线代理服务器 (60)
- shell 字符串比较 (74)
- x509证书 (61)
- localhost (65)
- java.awt.headless (66)
- syn_sent (64)
- settings.xml (59)
- 弹出窗口 (56)
- applicationcontextaware (72)
- my.cnf (73)
- httpsession (62)
- pkcs7 (62)
- session cookie (63)
- java 生成uuid (58)
- could not initialize class (58)
- beanpropertyrowmapper (58)
- word空格下划线不显示 (73)
- jar文件 (60)
- jsp内置对象 (58)
- makefile编写规则 (58)