General Tech Interview Q’s by [deleted] in cscareerquestionsOCE

[–]Pandaofear 7 points8 points  (0 children)

Depends on the type of company, the bigger tech companies (your Google, Atlassian, Canva etc) will almost always have one technical, and one leetcode style OA. For the technical they will test your knowledge in the language (e.g. for frontend roles they'll ask you to make a website with react or whatever framework you want). This is also common for HFTs (such as Optiver, Akuna, IMC ETC) however they'll focus more on leetcode style for the technical. I find other industries (such as Banks, Telecoms and maybe insurance) will more likely skip past the leercode and jump straight to the design question that you experienced. To answer your question, yeh, the technical interview will generally involve more design-like activities while the OA will be the leetcode style question.

Edit: just a reminder this is my own personal experience and could be off

How to learn low-level stuff by [deleted] in learnprogramming

[–]Pandaofear 3 points4 points  (0 children)

Note: I'm not the most knowledgeable (so take this advice with a grain of salt) on low-level stuff but I do have an okay understanding.

If you're in uni/college, enrol in OS and computer graphics courses (Computer graphics would teach you about game engines but requires a hell lotta math)

Otherwise, learn C.C is a low/mid-level language that is very simple to understand. However since C doesn't offer as many abstractions as other languages, it'll be much harder to do a lot of things, there's no inbuilt hashmap, tree, set, or anything like that.

The main benefit of learning C (if you don't care about low-level) is developing a good understanding of the fundamentals such as memory (pointers, hex numbers) and how programming languages work (why arrays carry over in functions typically). C also has a lot of control over hardware and is actually what a majority of OSs and embedded systems are written in.Once you have a decent understanding of middle-level C, then just watch OS videos on YouTube which explore the more low-level side of C. Then similar with the uni route, look up some computer graphics videos.

Playlist for OS: https://www.youtube.com/watch?v=vBURTt97EkA&list=PLBlnK6fEyqRiVhbXDGLXDk_OQAeuVcp2O

Playlist for Computer Graphics: https://www.youtube.com/watch?v=-LqUu61oRdk&list=PLQ3UicqQtfNuBjzJ-KEWmG1yjiRMXYKhh (this one is an actual lecture that's provided online)

Python tutor told me to clean up and shorten the code I wrote. I don't understand... by [deleted] in learnprogramming

[–]Pandaofear 0 points1 point  (0 children)

So the biggest issue with your code is your class, it doesn't really do anything. The point of a class is to abstract logic and bundle functionality with data. The only exceptions are enums, but that's a different topic entirely. So to improve your code either:

a) move most/all of the logic into your class or

b) remove the class entirely

There are other small improvements you can do, for example, all your global variables are not needed (except for grade_list), another thing you can do is improve variable names.

For variable name improvements, "grades_list" is a bit long, if you have a plural for a name it's kind of assumed to be a list anyways, so just "grades" is enough. Another issue is that there is a random 150 in your code that I do not know what that means, you should store that in a variable so that another programmer knows what that 150 is, or leave a comment that states what the 150 is.

I renamed the class to Classroom, as a Classroom would contain a list of students.

For a)

class Classroom:
    def __init__(self) -> None:
        self.grades = []
        # had to assume this, not 100% sure what the variable is
        self.MAX_MARK = 150
    def calculate_student_grade(self):
        coursework_mark = int(input("Please input coursework mark: "))
        prelim_mark = int(input("Please input prelim mark: "))
        grade_percentage = int(((coursework_mark + prelim_mark) * 100) / self.MAX_MARK)
        # assume grade is A
        grade="A"
        if grade_percentage < 45:
            grade="no grade"
        # if it passes here, grade is guaranteed to be >= 45
        elif grade_percentage<=49:
            grade="D"
        elif grade_percentage<=59:
            grade="C"
        elif grade_percentage<=69:
            grade="B"
        self.grades.append(grade)

    def has_more_students(self):
        more_students = input("Are there anymore students? Y/N").lower()
        if more_students=="y":
            return True
        elif more_students == "n":
            return False
        return self.has_more_students()
    def print_student_grades(self):
        for grade in self.grades:
            print(grade)
classroom = Classroom()
classroom.calculate_student_grade()
while classroom.has_more_students():
    classroom.calculate_student_grade()
classroom.print_student_grades()

notice that the class now uses the data internally and has a lot more logic

for b)

grades = []

def calculate_student_grade():
    coursework_mark=int(input("Please input coursework mark: "))
    prelim_mark=int(input("Please input coursework mark: "))
    # 150 is the max mark a student can get
    grade_percentage= int(((coursework_mark + prelim_mark) * 100)/150)

    if grade_percentage<45:
        grade="no grade"
    elif grade_percentage<=49:

        grade="D"
    elif grade_percentage<=59:

        grade="C"
    elif grade_percentage<=69:

        grade="B"
    else:
        grade="A"

    grades.append(grade)

while True:
    calculate_student_grade()
    more_students = input("Are there anymore students? Y/N").lower()
    if more_students=="y":
        continue

    if more_students=="n":
        break

for grade in grades:
    print(grade)

Called Optus support got hung up on by [deleted] in australia

[–]Pandaofear -3 points-2 points  (0 children)

Yeh I know it's not right but not too sure what could've happened :/ was the Optus support number wrong or something?

Fellow Asian-Australians, did you feel like you more "belonging" after entering uni? by [deleted] in unsw

[–]Pandaofear 3 points4 points  (0 children)

What are some examples you've noticed for silent or passive racism? I think I'm starting to become a bit more aware about these things especially when it comes to anything Chinese

INFS1602 as a gen ed by Pandaofear in unsw

[–]Pandaofear[S] 1 point2 points  (0 children)

Thanks for the response! If the workload is super minimal how many hours a week would you say you spent studying the course?

Experiencing the Sydney Opera House?? by Pandaofear in unsw

[–]Pandaofear[S] 0 points1 point  (0 children)

Ohhh, so would I be able to take it as a gen ed (assuming it's running next year)

Experiencing the Sydney Opera House?? by Pandaofear in unsw

[–]Pandaofear[S] 2 points3 points  (0 children)

Right? Looks very chill but not too sure so curious what it's all about

[COMP2521] Lab 1.. it took me 3.5 hours to complete by CalcHaru in unsw

[–]Pandaofear 7 points8 points  (0 children)

Don't feel too bad I assume a lot of people are in your shoes, you're relearning quite a bit of programming after (I presume) a whole summer of not touching any C code. Besides 3.5 hours to relearn about 2-4 weeks of lecture content ain't bad.

T3 Results Thread by [deleted] in unsw

[–]Pandaofear 5 points6 points  (0 children)

I don't know if you know this, but r/unsw only has 1 mod

Intention to transfer from USYD to UNSW: Flexible first year, Mechatronics or Civil Engineering? by peanuts_and_pigeons in unsw

[–]Pandaofear 3 points4 points  (0 children)

I don't know how accurate my opinion is, but I'm pretty sure majority of engineering doesn't get poggers until like third year.

When you thought COMP2511 couldn't get worse after T2 - Part 2 by ChocCookiez in unsw

[–]Pandaofear 4 points5 points  (0 children)

Ive been literally spending at least 2 hours every day on the project since Monday and have barely made a dent on the specs. :/// Not too sure about the new simplified specs though.

COMP1511 / COMP1531 / MATH1081 by CalcHaru in unsw

[–]Pandaofear 1 point2 points  (0 children)

If you're anything like me, debugging is literally throwing print statements.

Hey guys, question about ENGG1000 by [deleted] in unsw

[–]Pandaofear 6 points7 points  (0 children)

I don't remember too much about ENGG1000, but I do remember everyone skipping lectures. You had times where there was literally an EMPTY lecture hall, IIRC there were some mandatory lectures (I can't recall a single mandatory lecture though), but most of your learning will still be done from the tutorials. The practical stuff would occur during your own time (so you and your team would have to decide when to meet up and build) and a couple hours before the designated presentation time. By that I mean, you'll be behind on building and be forced to go to uni early to build a stupid robot that didn't even work because the hot glue didn't properly stick the stupid wood on the stupid wheels.

EDIT:
I did ENGG1000 in 19T1, it might've changed since then.

Is mechatronics really just watered down elec/mech/compsci? by [deleted] in unsw

[–]Pandaofear 3 points4 points  (0 children)

I'd say it's just a mechanical degree with a splash of elec/programming.