1月26日-备孕春招40天-第16天

①leetcode

86-90

两个没做出来的题:

1,扰乱字符串:

https://leetcode-cn.com/problems/scramble-string/

2,格雷编码:

https://leetcode-cn.com/problems/gray-code/

数组和链表已经基本熟练了,一般就是多指针、逆置等。链表建一个头节点可以省去很多判断,要舍得用引用。回溯和递归的中等题目也都可以写出来了。

dp真的是没有上限,很多题都反应不过来是dp,需要抽空专项训练一下。

②剑指offer:

栈的推入弹出、二叉树层次遍历、之字遍历(用两个栈,进行每一个层次的遍历)、判断是否是先中后序遍历(找根节点,然后递归)

③mybatis:

一级缓存和二级缓存、注解

④八股文:

发现很多问题的回答都看不懂,需要自己总结一下,用自己的思想表达出来观点,这可能不是最正确的答案,但是最高效的记忆方法:

Q:String、StringBuilder、StringBuffer的区别?

String是final,这样stringpool的需要,这样可以线程安全,每次修改都会重新创建一个String,因此多次修改的情况String开销较大,String是基础数据类型,在常量池中,不使用new创建两个String的情况可以用==比较(==比较是不是同一个引用,equals()比较是不是值相等,等价)。StringBuilder是非线程安全的,适合应用在单线程的字符串大量修改的情况。 StringBuffer是线程安全的,适合多线程操作字符串。

Q:final关键字的作用?

基本数据类型不能改变。引用类型不能修改引用其他,但是被引用的内存内容可以改变。修饰方法时,方法不能被重写但是可以重载(参数列表不同)。修饰类不能被继承(太监类)

Q:static关键字

静态变量,跟着类。相对的是实例变量,跟着对象,对象消亡则实例变量消亡。 (private:自己可见。protect:子类可见。public:公开)

Q:存在继承关系下的初始化顺序?

父类的静态变量、静态语句块。子类的静态变量、静态语句块。父类的实例变量、普通语句块、构造函数。子类的实例变量、普通语句块、构造函数。

Q:说一下抽象类和抽象接口?

抽象类和抽象接口使用abstract声明,类中有抽象方法则一定为抽象类。抽象类不能被实例化(new 一个对象)。 接口只能时static或final,接口中的变量必须时public,方法必须时public abstract。 类只能继承一个,接口可以实现多个,抽象类和抽象接口都是描述一些统一的规范和特点,抽象类目的的实现代码的复用,抽象接口是为了实现一些共同的约束。

Q:什么是方法重写?

声明一个和父类相同的方法,需要子类的方法权限更大,子类的返回值需要是父类的返回值或者是父类返回值的子类型,子类的异常类型需要是父类的异常类型或子类型。

Q:创建一个栈的开销?

栈帧、局部变量、常量池、返回值、pc

Q:面向对象的三大特点?

封装、继承、多态。封装指隐藏内部实现的细节,安全性高。继承,不同的对象可能存在着相同的特点,继承可以实现代码的复用性,java中对象可以继承一个父类。多态,一个对象可以有多种状态,父类的引用指向子类实例。

Q:CopyOnWriteArrayList的原理?

写的时候新建一个数组,然后加锁,写完再覆盖回去,如果写的过程中有读,则读旧数据,适合读多写少的情况。

Q:ArrayList与LinkedList区别?

数组和链表的区别,一个是线性存储的,一个是链式存储的。ArrayList每次扩容是之前的1.5倍。

Q:hashmap和hashtable的区别?

hashmap使用hash值(一次16位右位移混合)解决冲突,负载因子0.75,元素达到3/4则扩容。hashtable是数组和链表实现,数组部分是主体,链表是为了防止哈希冲突,hashmap不安全,hashtable安全。treemap基于红黑树实现。map的put()方法,先检查是否需要扩容,检查hash值,不存在就直接添加,存在则替换或者拉链法。

Q:hashmap在7和8下的区别?

1.7中使用数组+链表,1.8中使用数组+链表+红黑树。 1.7头插法,1.8尾插法。 如果需要扩容,1.7先扩容在插入(重新定位进行扩容),1.8先插入在扩容(简单逻辑判断是否扩容)。

全部评论

相关推荐

点赞 评论 收藏
分享
04-11 00:51
已编辑
门头沟学院 Java
先说一下楼主的情况:双非本大三,两段实习,javaer,想要找一个暑期大厂offer,努力了两个月,三月份每天的状态就是算法,八股,项目,四月份更是一个面试没有,最终还是没有结果,心碎了一地。期间面了一些中小厂,大厂只有腾讯约面,其他大厂都投了一遍,但是还是石沉大海。再看一下楼主的面试结果吧,就不说ttl了腾讯s3:三面挂csig:一面挂teg:三面挂wxg:一面挂没错,面了八次腾讯,两次三面挂,当时真的心都碎了。其他中小厂都有面,有的没过,有的oc,但是都没有去。其他大厂投了简历,但是不是简历挂,就是测评挂,都说今年行情好很多,各大厂都扩招,可是问题出在那里呢?学历背景吗?实习经历吗?还是简历不够好看?依稀记得,从年初七就离开了家里,回到学校,早早准备面试,当时自己认为凭借着自己的两段实习经历,以及大二就开始准备的八股算法,拿大厂offer不是问题,但是还是不敢放松,回校的状态每天就是算法,八股,还有查看各种招聘信息,想着尽早投机会多,但是事实证明,投的早,不如投的刚刚好。当时想着,先投一些中小厂开始面试,找找面试感觉,从2.10就开始有面试了,基本都是线下面试,面试的感觉都很不错,觉得自己的状态慢慢回来了,期间也有oc一些中小厂,但是自己的目标并不在此,只是想练一下手,遂拒。后面投了腾讯的暑期实习基地,不久就约面了,第一次面这么大的厂,多少有点紧张,好在运气还不错,遇到的面试官也比较好,一直干到了三面,期间看牛客有不少说一面就挂了的,感觉自己还是比较幸运的,但是没想到倒在了三面,一周后就挂了,伤心是有的,但是想到这才刚刚开始,还有很多机会,便继续准备下一次面试了,很快,被另外一个部门捞了,一进会议,面试官没开摄像头,看网上说没开摄像头很多都是kpi,但是自己给自己打气,认为面试官只是不方便开摄像头罢了,面完,感觉良好,没问什么很难得问题,基本都答出来了,算法两道也a了一道,感觉实习不会这么严格吧?还是过了一会挂了,因为这个?还是技术不太匹配?面试过程中说搞C++的,心想,搞c++的你面我干啥?唉,这时候有点气馁,然后就接下来半个月没有面试。这时已经是三月底了,看到牛客好多人都已经陆陆续续拿到了offer,看人家的面试准备也没那么早,有0实习的,有没刷算法的,有两个面的,,,唉,反正是一言难尽啊,感觉努力没有什么意义,面试多半是看面试官的感觉,主观性很大啊,只要你技术没有太大的问题。第三次面试腾讯,面试来的比较突然,期间已经有几天没看八股什么的了,临时看了一下之前自己做的面试笔记,但是面试却异常顺利,三天闯到了三面,自己也不敢相信,三面玩感觉也良好,脑子里不得不想着一些“offer结算画面”,但是过了一会查看流程显示“流程终止”,我?哎,当时真的有苦说不出啊,也是一晚没睡。后面就逐渐开始褪去大厂梦了,看着曾经跟自己交流的牛油,朋友,认识的人,觉得他们技术不太如你,算法刷的没你多,进了大厂,但是这又如何呢?能力强不强不是你了说了,面试官说了算。也逐渐知道,不是你能力好就可以了,还得有运气,运气,运气。这个过程太累了,和自己和解吧,不用非得大厂,找个合适一点的就好,放轻松一点。今天有点心事睡不着,闲着想写一些自己的面试过程,勿喷。附上一张面试的情况,公司就不方便透露了。
怒卷的斯科特:八分运气两分实力
点赞 评论 收藏
分享
05-28 23:26
河南大学 Java
双非本,刚学完Redis,项目只有外卖和点评,八股没准备,算法只有lqb省一,感觉敲的项目也是一言难尽没怎么吸收。怎么你们都有实习了
大牛之途:27急个锤子,你投日常实习最好的时间就是9,10月份,那时候暑期实习都结束了,正是缺人的时候。这份日常又能给你的暑期实习增加竞争力,暑期找的好了秋招也不怕了,都是环环相扣的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务