100天准备找工作倒计时:第三天

算法题:第一天剩下的约瑟夫问题2和全排列2都没解决😅老拖延症了
(最近做的面试题很多都是牛客的那个面试高频,看了想自己做一下可以去那边找哦)
1.不含重复元素的数组,返回该元素的所有子集:递归回溯,添加到结果的操作在出口处执行
2.输出二叉树的前序中序后序:递归,出口为当前节点为空,遍历的过程先遍历左子树再遍历右子树,而在遍历前添加前序节点到数组中,左子树遍历结束后添加中序,右子树遍历结束后添加后序。
3.已知二叉树的前序中序还原后序(做过一次,但是我对树特别不会,再做还是看了半天):递归函数recur(pre_root,in_left,in_right);根据传入的根节点,可以从中序中划分出左右子树,然后再对左右子树进行recur,出口是左边界大于有边界即说明该节点为null;
4.判断单向链表是否有环(要求时间复杂度0(1)):设置一快一慢两个指针,快指针每次移位2次,慢指针每次移位1次,如果有环的话,快指针不会出现移位到空的情况而一定会追上慢指针;
5.第二次做反转单向链表:设置pre和next两个节点,next = head.next,head.next = pre,pre = head,head = next
6.两个栈实现队列:stack1负责push,stack2负责pop;push操作只需要直接向stack1中push,当pop时因为需要和push的顺序相反,所以将stack1中的元素全部倒入stack2,如果stack2中有元素则先pop stack2,如果stack2空了就进行倒入操作后再pop;(为数不多的几个做过后完全掌握的题🙃
7.最长不含重复字符的子串长度:滑动窗口,设置左右指针,当遇到重复元素时,左指针移动删除set中的左侧元素,直到删除重复元素,完成一次完整的添加或者删除操作后就比较当前长度和当前最大长度并更新最大长度
8.回顾十个排序算法:只完全理解了简单一点的冒泡,插入,希尔,选择😭,快排大概懂了但是写不好,后面还有一些都只是大概看了看也不知道会不会细考;最主要的还是把时间复杂度看了,能理解的理解了,理解不了的只能嗯背了
9.双向链表的逆序(不会,有无大佬教教我)

面试题:(明天早上有中兴的面试,就找了找中兴的面经学了会)
1.浏览器输入网址并按回车的过程:DNS解析IP地址-与服务器建立连接(三次握手)-发送一个HTTP请求(get请求)-服务器收到请求返回一个响应-浏览器解析响应并渲染界面并显示-关闭连接
2.介绍一下IP协议,TCP和UDP,ARP协议
3.堆和栈的区别(也是看过的,结果还是记不全😤):存取速度、存储内容、内存分配方式、生命周期、数据进出方式
4.八种基本数据类型和大小
5.数据库两张表合并:
CREATE TABLE T SELECT * FROM T1 UNION ALL SELECT * FROM T2;
UNION如果不加ALL的话会有重复数据
6.数据库范式:第一、第二、第三、BCFN
7.介绍一下Java的四个特性(经常会出现大概懂但是说不明白的情况。。。)
8.Java如何实现跨平台的:jvm根据不同硬件平台对.class文件进行翻译,是不同的机器可以理解

明天还要看一下设计模式的手写:单例模式(饿汉、懒汉、安全、非安全),简单工厂、抽象工厂
学习好累,脑壳痛,装不下😖





全部评论
老哥坚持
点赞 回复
分享
发布于 2020-09-20 22:26
这是直接放弃秋招备战春招了?曲线救国?😅
点赞 回复
分享
发布于 2020-09-20 23:05
联易融
校招火热招聘中
官网直投
楼主跟我学习路线差不多,实话。算法题都是leetcode、剑指offer老玩家了
点赞 回复
分享
发布于 2020-09-21 09:26
老哥加油
点赞 回复
分享
发布于 2020-09-21 11:00
老赛丽亚了
点赞 回复
分享
发布于 2020-09-21 20:09

相关推荐

7 2 评论
分享
牛客网
牛客企业服务