总结
互联网大厂比较喜欢的人才特点:对技术有热情,强硬的技术基础实力;主动,善于团队协作,善于总结思考。无论是哪家公司,都很重视高并发高可用技术,重视基础,所以千万别小看任何知识。面试是一个双向选择的过程,不要抱着畏惧的心态去面试,不利于自己的发挥。同时看中的应该不止薪资,还要看你是不是真的喜欢这家公司,是不是能真的得到锻炼。其实我写了这么多,只是我自己的总结,并不一定适用于所有人,相信经过一些面试,大家都会有这些感触。
**另外本人还整理收藏了2021年多家公司面试知识点以及各种技术点整理 **
下面有部分截图希望能对大家有所帮助。
import java.util.ArrayList;
import java.util.List;
public class PokerGame {
public static void main(String[] args) {
Poker p = new Poker();
p.deal();
}
}
/*
-
类Card,
-
它包含数据字段:flush,表示花⾊; number,范围[1, 13](⼤⼩王除外)。
-
*/
class Card{
private int number;
private Flush flush;
public Card(Flush flush,int number) {
this.number = number;
this.flush = flush;
}
public Flush getFlush() {
return flush;
}
public void setFlush(Flush flush) {
this.flush = flush;
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
//重写contains方法中调用的equals方法
@Override
public boolean equals(Object obj){
Card c = (Card)obj;
return this.getFlush().equals(c.getFlush()) && this.getNumber() == c.getNumber();
}
}
/*
-
花⾊由枚举Flush定义:
-
HEART,0,红桃;
-
SPADE,1,⿊ 桃;
-
DIAMOND,2,⽅块;
-
CLUB,3,梅花;
-
JOKER,4,⼤⼩王(⼤王的number为1,⼩王的 number为0);
-
*/
enum Flush{
HEART(“0”,“红桃”),
SPADE(“1”,“黑桃”),
DIAMOND(“2”,“方块”),
CLUB(“3”,“梅花”),
JOKER(“4”,“大小王”);
private final String FlushName;
private final String FlushDesc;
private Flush(String FlushDesc,String FlushName){
this.FlushName = FlushName;
this.FlushDesc = FlushDesc;
}
public String getFlushName() {
return FlushName;
}
public String getFlushDesc() {
return FlushDesc;
}
/*
-
通过Desc-获取name
-
public static String getNameByDesc(String desc) {
-
for (Flush f : Flush.values()) {
-
if (desc.equals(f.FlushDesc)) {
-
return f.getFlushName();
-
}
-
}
-
return desc;
*}
- */
}
/*
-
类Deck
-
其私有数据字段List cards,包含所有的纸牌;
-
成员⽅法boolean add(Card card)和boolean add(Flush fluash, int number)向其中添加⼀张牌,如果已经有了18张 牌,返回false;否则,返回true;
-
成员⽅法boolean contain(Flush flush, int number)确定是否包含 参数给定的纸牌;
-
成员⽅法bool isFull()确定是否已经包含了18张牌;
-
成员⽅法void reset()执⾏复 位,即清空所有的纸牌
-
*/
class Deck{
private List cards;
public Deck() {
this.cards = cards;
cards = new ArrayList<>();
reset();
}
public List getCards() {
return cards;
}
//成员⽅法boolean add(Card card)和boolean add(Flush fluash, int number)向其中添加⼀张牌,如果已经有了18张 牌,返回false;否则,返回true;
public boolean add(Card card){
card = new Card(card.getFlush(),card.getNumber());
if(this.getCards().size() <= 18){
this.getCards().add(card);
return true;
}else
return false;
}
public boolean add(Flush flush, int number){
if(cards.size() < 18){
cards.add(new Card(flush,number));
return true;
}else
return false;
}
//成员⽅法boolean contain(Flush flush, int number)确定是否包含 参数给定的纸牌;
public boolean contain(Flush flush, int number){
if(cards.contains(new Card(flush,number))){//需重写contains方法
return true;
}else
return false;
}
//成员⽅法bool isFull()确定是否已经包含了18张牌;
public boolean isFull(){
读者福利
分享一份自己整理好的Java面试手册,还有一些面试题pdf
不要停下自己学习的脚步
步**
[外链图片转存中…(img-TQmPbSpF-1715370991308)]
[外链图片转存中…(img-Mnmrlx0P-1715370991308)]