哈啰 安卓开发实习 面经

投递渠道:boss

timeline:

  • 2024.11.04 投递
  • 2024.11.05 一面
  • 2024.11.05 oc
  • 2024.11.06 offer 已拒

一面

  1. 自我介绍
  2. 了解哈啰吗
  3. 项目背景
  4. 项目细节
  5. 遇到过哪些问题,怎么解决
  6. 标准库怎么实现的
  7. 有没有了解过其他开源项目
  8. 有没有团队合作过项目
  9. 学了多久
  10. 面向对象有什么好处
  11. 面向对象三大特性
  12. 了解哪些设计模式
  13. 手撕:反转链表(共享屏幕,在 IDE 写,面试官夸习惯好)
    #include <iostream>
    
    /*
     *
     *  给定单链表的头节点head,请反转链表,并返回反转后的链表的头节点。
        示例 1:输入:head = [1,2,3,4,5]输出:[5,4,3,2,1]
        不限定语言和IDE
     *
     */
    
    struct Node {
        int val_;
        Node* next_ = nullptr;
        Node(int val) : val_{val} {}
    };
    
    Node* reverseList(Node* head) {
        Node* prev = nullptr;
        Node* cur = head;
        while(cur) {
            auto next = cur->next_;
            cur->next_ = prev;
            prev = cur;
            cur = next;
        }
        return prev;
    }
    
    void print(Node* head) {
        while(head) {
            std::cout << head->val_ << ' ';
            head = head->next_;
        }
        std::cout << '\n';
    }
    
    void destroy(Node* head) {
        while(head) {
            auto next = head->next_;
            delete head;
            head = next;
        }
    }
    
    void test() {
        // [1,2,3,4,5]
        auto head = new Node(1);
        auto tail = head;
        for(int i = 2; i <= 5; i++) {
            tail->next_ = new Node(i);
            tail = tail->next_;
        }
    
        print(head);
    
        head = reverseList(head);
    
        print(head);
    
        destroy(head);
    }
    
    int main() {
        test();
    }
    
  14. 反问

当天晚上 oc,第二天发 offer,已拒

全部评论
就一面啊
点赞 回复 分享
发布于 11-11 12:58 江苏

相关推荐

11-09 16:03
江南大学 Java
什么时候才能拿到offer啊,太难了今年,已经后悔考研了,就一个华勤的意向书被晾了半个月了,焦虑的一批。面了一个多小时,问了很多,记得不是很清楚了,只能凭印象记录点了。面试总体评价:面试官人还挺好的,虽然中途换了一个人,但是气氛还是比较轻松的,不过我还是紧张到发抖就是了,面试的问题除了八股文之外,有很多一些平时写代码不会注意的小细节问题(背八股文的话是根本不会注意到的问题),或者可能就是代码写太少导致的。1.&nbsp;自我介绍2.&nbsp;是不是没有安卓开发经验,(是的),那就以JAVA基础为主来考察。3.&nbsp;了解JAVA的哪些内容?(JAVA集合,Spring,JUC等)。4.&nbsp;Synchronized原理是什么?5.&nbsp;了解设计模式吗?手撕一个单例(共享屏幕,看着你写,中途面试官说有事情,然后换了一个面试官继续,写了一个双重检测锁,然后跟面试官说最安全的单例应该用枚举类来实现)。6.&nbsp;继续多线程的问题,大概讲讲JUC有哪些内容7.&nbsp;项目中用到锁了吗(虽然确实深入学了下JUC但是鼠鼠一来没有实习,二来项目也没做多少,天天被压榨的写煞笔论文,老实说用的不多),然后问JAVA中有哪些锁,有什么区别,JUC中的并发安全的集合类有哪些,ConcurrentHashMap实现原理等等。8.&nbsp;线程池有哪些参数,项目中怎么用的9.&nbsp;线程池怎么用,参数设置有哪些参考因素(IO密集,CPU密集)10.&nbsp;然后出个题,问核心线程有多少个,非核心线程多少个。(事后发现回答错了,是阻塞队列满了才会创建非核心线程,想紫砂了,JUC学了大半个月,啃了好多源码,倒在这种基本问题上了)11.&nbsp;一个线程用Synchronized获取到了锁,然后在这个线程中又new了一个线程去获取锁,这种情况能调用成功吗(因为前面说了Synchronized与ReetrantLock的不可重入的区别,我说应该不行,因为这样不就死锁了吗)12.&nbsp;什么情况下会内存泄漏,问的很细,还问了栈溢出算内存泄漏吗(事后发现栈溢出、内存泄漏、内存溢出是不同的,基础漏洞太多了)13.&nbsp;然后又问了异常相关的问题,然后又问栈溢出是异常吗,那他能被捕获吗?(我想了一会,他又补充到,他是异常吧,我顺势嗯了一声,然后他又说那他可以被捕获吗,我又嗯了一下,他就笑了,仔细一想发现完全被他带到错误的答案了,不过还是自己太菜了。)14.&nbsp;JAVA垃圾回收算法15.&nbsp;循环依赖了还能回收吗16.&nbsp;JAVA有哪些引用类型(知识盲区了,只记得一点点)17.&nbsp;问了Redis有哪些作用场景18.&nbsp;MySQL的视图有什么优点19.&nbsp;MySQL慢查询优化20.&nbsp;http与https的区别21.&nbsp;问leetcode刷的多不多,我说还好,然后就让我写leetcode第一题。。。我哪记得第一题是啥,然后就跟我说是两数之和。然后就用hashMap写了。22.&nbsp;反问:技术栈是JAVA还是kotlin。kotlin更多JAVA也有。23.&nbsp;反问:评价。评价是基础还不错原理都能说出来,但是细节把握的不好(光背八股文的缺点,研究生几年确实没怎么写代码,天天炼丹写论文,感觉还不如本科自己,这时候就该骂导师了,还在pua,“发好文章就有好工作啦,要培养科学思维,不然一辈子打工人”,想鲨了他的心都有了)最后面试官说不出意外后面应该还有一面。也不知道是过了还是没过,等了2天了,秋招到现在还是0offer,焦虑的一批。最近也是彻底放弃JAVA后端转安卓了,感觉安卓的岗位门槛还是第一点,面试给的多一些。
查看21道真题和解析
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务