乐信2021秋招java一面(过)

好久没写面试总结了,因为最近面了十几个也基本麻木了,问的问题都差不多,现在基本就是不怎么准备就去面试了,也都能发挥的不错。但是今晚乐信这个还是问到了没好好复习的知识,所以写下来总结一下。

1.问我博客项目中 写博客然后存储这个功能 数据库字段类型 这个忘记了 还有markdown转html的事情也忘记了

2.还是问项目 我提到图数据库 他有问对图数据库的了解 我只回答了这部分想要用图数据库去改进 但是还没有去了解

3.http的问题答得也不是很好 问了常用的状态码 200 404 302 500说了这四个 但是他问301是什么 我想不起来了 状态码还是要好好看看

200状态码:表示请求已成功,请求所希望的响应头或数据体将随此响应返回

301状态码(永久重定向):被请求的资源已永久移动到新位置。服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。

302状态码(临时重定向):请求的资源临时从不同的URI响应请求,但请求者应继续使用原有位置来进行以后的请求。

401状态码:请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应。
403状态码:服务器已经理解请求,但是拒绝执行它。与401响应不同的是,身份验证并不能提供任何帮助,而且这个请求也不应该被重复提交。

404状态码:请求失败,请求所希望得到的资源未被在服务器上发现。没有信息能够告诉用户这个状况到底是暂时的还是永久的。

4.问mysql默认端口 问我用的jdk版本 mysql版本 这个都完全不记得了

mysql的默认端口是3306,可以编辑用户目录下的 .my.cnf 文件进行修改

5.问了比较多计网的东西 三次握手流程 IOS五层都是哪五层 输入网址以后 用到哪些协议 我刚说到DNS 就给我打断了 问我DNS运输层协议是什么 我也没复习 唉

DNS可以用UDP也可以用TCP

6.进程通信方式 你用过哪些进程通信方式


1.管道pipe:管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。
2.命名管道FIFO:有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。
3.消息队列MessageQueue:消息队列是由消息的链表,存放在内核中并由消息队列标识符标识。消息队列克服了信号传递信息少、管道只能承载无格式字节流以及缓冲区大小受限等缺点。
4.共享存储SharedMemory:共享内存就是映射一段能被其他进程所访问的内存,这段共享内存由一个进程创建,但多个进程都可以访问。共享内存是最快的 IPC 方式,它是针对其他进程间通信方式运行效率低而专门设计的。它往往与其他通信机制,如信号量,配合使用,来实现进程间的同步和通信。
5.信号量Semaphore:信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访问共享资源时,其他进程也访问该资源。因此,主要作为进程间以及同一进程内不同线程之间的同步手段。
6.套接字Socket:套解口也是一种进程间通信机制,与其他通信机制不同的是,它可用于不同及其间的进程通信。
7.信号 ( sinal ) : 信号是一种比较复杂的通信方式,用于通知接收进程某个事件已经发生。

7.linux查看cpu的命令

除了常用的cd pwd cp mv rm touch mkdir这些 还有

  • find:查找文件

  • cat:查看文本文件内容

  • tail -10: 查看文件的尾部的10行

  • head -20:查看文件的头部20行

  • grep(global search regular expression)是一个强大的文本搜索工具。grep 使用正则表达式搜索文本,并把匹配的行打印出来。

在文件 myfile 中查找包含字符串 mystr的行 

grep -n mystr myfile 

显示 myfile 中第一个字符为字母的所有行

 grep  '^[a-zA-Z]'  myfile 

在文件 myfile 中查找首字符不是 # 的行(即过滤掉注释行) 

grep -v '^#' myfile 

列出/etc目录(包括子目录)下所有文件内容中包含字符串“root”的文件名

grep -lr root /etc/* 

8.设计模式的原则

单一职责原则 一个类只负责一个功能领域中的相应职责,或者可以定义为:就一个类而言,应该只有一个引起它变化的原因。

开闭原则 一个软件实体应当对扩展开放,对修改关闭。即软件实体应尽量在不修改原有代码的情况下进行扩展

里氏代换原则 里氏代换原则告诉我们,在软件中将一个基类对象替换成它的子类对象,程序将不会产生任何错误和异常,反过来则不成立,如果一个软件实体使用的是一个子类对象的话,那么它不一定能够使用基类对象。

依赖倒置原则 高层模块不应该依赖低层模块,两者都应该依赖其抽象;抽象不应该依赖细节,细节应该依赖抽象,其核心思想是:要面向接口编程,不要面向实现编程。

接口隔离原则 使用多个专门的接口,而不使用单一的总接口,即客户端不应该依赖那些它不需要的接口。

迪米特法则 一个软件实体应当尽可能少地与其他实体发生相互作用。应该尽量减少对象之间的交互,如果两个对象之间不必彼此直接通信,那么这两个对象就不应当发生任何直接的相互作用,如果其中的一个对象需要调用另一个对象的某一个方法的话,可以通过第三者转发这个调用。简言之,就是通过引入一个合理的第三者来降低现有对象之间的耦合度。

总结一下 这场面试面的不好的原因就在于 问的太基础 而这些基础在最近面试中都被我忽视了

所以接下来

1.把http所有常见状态码记清楚

2.计网的东西再好好看看

3.进程通信方式了解

4.linux常用命令了解

5.项目中发布博客那个功能再去好好复习一下

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
乐信是一家技术驱动型的公司,因此他们在Java高级面试中会注重应聘者对于Java的深入理解和实际应用能力。 在面试中,乐信可能会问到以下几个方面的问题: 1. Java基础知识:乐信会考察应聘者对于Java基础知识的掌握程度,例如面向对象编程的概念和原则、多线程编程、异常处理机制等。 2. Java集合框架:乐信非常重视应聘者对于Java集合框架的熟悉程度,包括ArrayList、LinkedList、HashMap等常用集合的特性、适用场景以及性能考量等。 3. JVM和垃圾回收机制:乐信关注应聘者对于JVM和垃圾回收机制的了解程度,例如内存模型、类加载机制、垃圾回收算法等。 4. 多线程编程:乐信会提问多线程相关的问题,包括线程的生命周期、线程同步与互斥、线程池的使用等。 5. 设计模式:乐信希望应聘者能够熟练掌握常见的设计模式,并能够根据实际场景选择合适的设计模式进行代码设计。 除了以上几个方面,乐信还可能会针对应聘者的工作经验和项目经历提问,以了解应聘者在实际项目中的工作能力和解决问题的能力。此外,乐信还可能会进行编码和算法方面的考察,以评估应聘者的编码能力和解决复杂问题的能力。 总结来说,乐信Java高级面试注重应聘者对于Java核心概念的理解、实际项目经验的应用和对于算法的掌握程度。准备这些方面的知识和经验,可在乐信Java高级面试中有更好的表现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值